您的位置:首页 > 编程语言 > PHP开发

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

2015-09-01 22:13 519 查看
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');
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  thinkphp