tp框架自总结

    tp框架

1、MVC
1、都会统一经过入口文件并且会携带相关的参数 例如 g,c,a
2、入口文件获取到g参数决定控制器相关的存储在某一个目录下
3、在根据c参数决定控制器的名称载入相关的文件实例化对象
4、再根据a参数实例对象调用方法
5、当需要使用到数据库时 实例化对象对象调用方法操作数据
6、当需要使用到视图 实例化视图对象调用方法
2、thinkphp入门
1、源码中目录文件
application:存储应用相关的代码
public:域名解析目录
thinkphp:框架的源码
vendor:使用composer下载的第三方的源码
think:可以使用php工具解析think文件使用命令的方式进行某些操作
2、配置tp项目
1、域名一定要解析到public目录下
2、一定要注意开启Apache的重写机制
3、控制器
1、控制器创建
1、存储地址:application\模块\controller
2、文件名:控制器名称+.php
3、代码首先声明命名空间 在定义自己的类创建方法
2、链式继承:可以实现代码的公用
A类继承B类 ,B类继承C类 在C类下的方法在A跟B类下都可以使用到
3、TP中访问的URL方式
1、pathinfo
2、兼容模式
3、路由的方式
4、配置项
常见的配置文件:惯例配置、应用配置、模块配置、扩展配置、场景配置、动态配置
动态配置:
1、读取数据
config(名称)
Config::get(名称)
2、设置
confing(名称,值)
Config::set(名称,值)
模块配置:只针对当前的模块生效

    扩展配置:将配置信息可以进行分文件存储  存储的目录在extra目录下

    场景配置:根据开发的环境切换配置文件

5、路由
1、作用:为了简化URL地址
2、路由的规则
Route::rule(地址表达式,执行的地址,请求方式,路由参数,变量规则)
地址表达式:针对用户的请求的地址进行匹配(没有域名)
执行地址:模块/控制器/方法名称(并不绝对)
请求方式:控制用户使用http协议中的某种方式进行访问
路由参数:限制访问
变量规则:控制具体传递的参数的规则

1、路由
1、路由规则的使用方式
Route::rule(‘地址表达式’,’所执行的地址’,’请求方式’,’路由参数’,’变量规则’)
2、请求方式
在rule方法中第三个参数设置’*’,’GET’,’GET|POST’
3、路由参数
在rule方法中第四个参数设置数组格式,具体每一个元素参考手册中所指定的固定值[‘method’=>’get’,’ext’=>’html’,’deny_ext’=>’php|shtml’]
4、变量规则
在rule方法中第五个参数设置数组格式,下标需要与参数名称保持一致,值使用正则表达式限制数据格式
2、视图
1、视图创建规则
推荐存储在应用\模块\view\控制器名称\方法名称.html
2、渲染视图
1、view()
2、 t h i s > f e t c h ( a d m i n @ i n d e x / i n d e x ) 3 view->fetch(‘../tpl/index.html’)
3、DB数据操作
1、获取对象:通过Db类获取到query对象
Db::name(‘没有前缀的表名称’)
Db::table(‘表完整名称’)
Db::connect(连接信息)->name/table()
2、增删改查
1、添加:insert/insertAll
2、查询:find/select
3、修改:update
4、删除:delete

1、请求
1、获取request对象
1、Request::instance()
2、使用助手函数request()
3、使用依赖注入的方式
2、获取请求相关的信息
当前模块名称: r e q u e s t > m o d u l e ( ) request->controller()
当前方法名称: r e q u e s t > a c t i o n ( ) G E T : request->isGet()
判断是否为post请求: r e q u e s t > i s P o s t ( ) 3 1 使 request->param/get/post等(‘参数名称/修饰符’,’默认值’,’过滤函数名称’)、
input(‘请求方式名称.参数名称/修饰符’,’默认值’,’过滤函数名称’)
注意:input直接调用获取所有的数据 get、post、pathinfo、put在TP中合并为param
2、修饰符:格式化数据
/s字符串(默认)
/d数字
/f小数
/a数组
3、数据过滤函数
可以使用PHP内置的函数、TP内置的函数、自定义的公共函数
2、视图
1、模板赋值
1、$this->assign(‘模板变量名称’,数据);
2、fetch(模板地址,赋值的数据为数组格式);
2、模板替换
只是字符串的替换
内置有用的STATIC:/static

3、模板使用函数
    1、{$data|函数名称=参数1,参数2} 如果参数为变量本身使用###,如果第一个参数为变量本身可以去掉###
    2、模板中可以使用多个函数依次进行格式化
    {$data|函数1=参数1,参数2|函数2=参数1,参数2}
    3、特殊的写法
        {:函数名称(参数1,参数2)}
4、模板运算:在模板中使用变量进行运算
    {$a+$b}
5、if标签 
    {if condition="条件"}
        满足执行1
    {elseif condition ="条件2" /}
        满足执行2
    {else /}
        执行3
    {/if}
6、比较标签
    {比较标签 name="名" value="值"}
        成立
    {else /}
        不成立
    {/比较标签}
7、foreach标签
    {foreach name="指定要循环的名称" item="指定每次循环的临时变量" key="下标的名称"}
    {/foreach}
8、volist标签
    {volist name="指定要循环的名称" id="指定每次循环的临时变量" offset="偏移量" length="循环的次数" empty="数据为空的显示" mod="计数器" key="指定循环次数的名称"}
    {$key} 为数据本身的下标 默认使用{$i}表示循环次数
    {/volist}   

猜你喜欢

转载自blog.csdn.net/liaohongying520/article/details/81626624