当前位置: 代码迷 >> 综合 >> TinkPHP 3.2.3版本 新手该注意的地方
  详细解决方案

TinkPHP 3.2.3版本 新手该注意的地方

热度:20   发布时间:2024-01-09 17:42:56.0
ThinkPHP 3.2.3版本
一、命名空间(注意:命名空间定义必须写在所有的PHP代码之前声明,而且之前不能有任何输出,否则会出错)namespace Home\Controller;这是系统的规范要求,表示当前类是Home模块下的控制器类,命名空间和实际的控制器文件所在的路径是一致的,也就是说: Home\Controller\IndexController类对应的控制器文件位于应用目录下面的 Home/Controller/IndexController.class.php,如果你改变了当前的模块名,那么这个控制器类的命名空间也需要随之修改。use Think\Controller;表示引入 Think\Controller 类库便于直接使用。二、好习惯遵循框架的命名规范和目录规范;开发过程中尽量开启调试模式,及早发现问题;多看看日志文件,查找隐患问题;养成使用I函数获取输入变量的好习惯;更新或者环境改变后遇到问题首要问题是清空Runtime目录;三、命名规则函数的命名使用小写字母和下划线的方式方法的命名使用驼峰法,并且首字母小写或者使用下划线“_”,属性的命名使用驼峰法,并且首字母小写或者使用下划线“_”以双下划线“__”打头的函数或方法作为魔法方法常量以大写字母和下划线命名配置参数以大写字母和下划线命名语言变量以大写字母和下划线命名
四、URL访问模式(可以使用路由设置你喜欢的路径)http://serverName/index.php(或者其他应用入口文件)/模块/控制器/操作/[参数名/参数值...]新版采用模块化的设计架构,下面是一个应用目录下面的模块目录结构,每个模块可以方便的卸载和部署,并且支持公共模块。Application      默认应用目录(可以设置)├─Common         公共模块(不能直接访问)├─Home           前台模块├─Admin          后台模块├─...            其他更多模块├─Runtime        默认运行时目录(可以设置)每个模块是相对独立的,其目录结构如下:├─Module         模块目录│  ├─Conf        配置文件目录│  ├─Common      公共函数目录│  ├─Controller  控制器目录│  ├─Model       模型目录│  ├─Logic       逻辑目录(可选)│  ├─Service     Service目录(可选)│  ... 更多分层目录可选│  └─View        视图目录五、CURD是什么意思增:  Create  对应的方法是add()改:  Update  对应的方法是save()查:  Read    对应的方法是select()删:  Delete  对应的方法是delete()六、在模板中输出变量例:在控制器中写$name = 'ThinkPHP';$this->assign('name',$name);$this->display();模板中写Hello,{$name}输出Hello,ThinkPHP七、可以方便的实现模板布局以及布局嵌套功能。有三种布局模板的支持方式1、第一种方式:全局配置方式这种方式仅需在项目配置文件中添加相关的布局模板配置,就可以简单实现模板布局功能,比较适用于全站使用相同布局的情况,需要配置开启LAYOUT_ON 参数(默认不开启),并且设置布局入口文件名LAYOUT_NAME(默认为layout)。例1:配置文件写:'LAYOUT_ON'=>true,'LAYOUT_NAME'=>'layout',layout.html写<include file="Public:header" />{__CONTENT__}<include file="Public:footer" />2、第二种方式:使用layout控制模板布局使用内置的layout方法可以更灵活的在程序中控制模板输出的布局功能,尤其适用于局部需要布局或者关闭布局的情况,这种方式也不需要在配置文件中开启LAYOUT_ON。例1:表示当前的模板输出启用了布局模板,并且采用默认的layout布局模板namespace Home\Controller;use Think\Controller;Class UserController extends Controller{Public function add() {layout(true);$this->display('add');}}例2:或者使用layout方法动态关闭当前模板的布局功能(这种用法可以配合第一种布局方式,例如全局配置已经开启了布局,可以在某个页面单独关闭)namespace Home\Controller;use Think\Controller;Class UserController extends Controller{Public function add() {layout(false); // 临时关闭当前模板的布局功能$this->display('add');}}