关于TP框架的小知识
访问入口文件后在application文件夹中会出现一些文件夹,其中的home文件夹是前端模块,也可以在application文件夹中新建文件夹。
home文件夹模块中Conf文件夹的config配置文件,是对于当前模块的:修改当前模式
convention配置文件是对于全体的配置文件:整体的模式
一、MVC模式(把程序分成3层,也就是三层架构,核心是控制器也就是controller):
M:model数据模型层 数据库的相关操作是放在model文件夹中
V:view 视图层 模板文件
C:controller 控制器 写程序逻辑
MVC模式注意事项:
MVC模式访问的时候是访问的控制器中的操作方法,而不是访问的文件
用到数据库时:控制器不仅要拿出静态页面,还要解析静态页面的标签,然后在调数据库,最后将这两个综合然后发给客户端
如果程序使用MVC模式:约定胜于配置
约定:
1.类文件命名要用驼峰法,也就是首字母大写
2.类文件的类名要和文件名保持一致
通过修改入口文件中的/Application/,可以切换访问文件
// 定义应用目录
控制器写法格式:
namespace命名空间(用的是反斜杠):相当于一个虚拟目录
例如:
use 父类命名空间
例如:
定义控制器类(继承父类控制器类)
例如:
操作方法(首字母小写)
例如:
二、注入变量:
$this->assign();
显示模板:display和show方法不用给参数
$this->display();
$this->show();
三、模板存放规则:
不能直接创建模板文件,应该这样:
先建立文件夹:名字是控制器的:方法的名字
系统常量(比较常用的:双下线打头的):
__ROOT__
__INFO__
__SELF__(浏览器中有什么它就有什么,自身访问路径)
__APP__
__MODLE__(模块名) __CONTROLLER__(当前控制下的处理控制方法) __ACTION__(当前操作方法)
四、命名空间
命名空间:相当于虚拟目录实现自动加载类的机制
初始命名空间:ThinkPHP\Library
初始命名空间下有很多根命名空间:
(1)Library里面的文件夹
(2)Application中的模块文件夹
注意:
(1)定义的时候:
在写命名空间时:需要从根写起,写到该文件所在的文件夹结束
(2)使用的时候:
在用命名空间时:从根开始写,写到类名结束
(3)命名空间里面用“反斜杠”
(4)所有的类文件都会定义命名空间;但是不是所有的类文件要使用命名空间;用到了某个类,但是在同一目录下也可以不用写
五、tp框架的快捷函数:
1.U() 制作url地址的快捷函数
2.C(名称) 获得配置变量(convertion.php config.php)信息
3.C(名称,值) 设置配置变量信息
4.L() 获得语言变量信息
5.E() 给页面输出错误信息
6.A("项目://模块/控制器") 实例化控制器对象
7.A("Home/User") 实例化User控制器对象
8.A("book://Home/User") 实例化book项目的Home模块的User控制器对象