1. thinkPHP思想
thinkPHP基于MVC思想,MVC是一种设计模式,他强制的使用应用程序的输入、处理和输出分开。MVC应用程序被分为三个核心部分:模型(model)、视图(view)、控制器(control),他们各自处理自己的任务。
例如:

2. 单入口创建项目
1 | <?php |
执行上述代码时,系统自动创建一个文件夹,里面包含的内容与系统封装的thinkPHP一样,而这里面的文件就是我们要写的代码。
- thinkPHP官方地址:http://www.thinkphp.cn/
3. 库目录结构(thinkphp)
Lib/Think: 为Thinkphp框架核心目录
Lib/ORG : 为Thinkphp框架自带扩展目录
4. 项目目录结构(home)
- Lib:放置控制层类和模型层类
- Action:相当于controler - Model: model层
- Tpl:放置着模板(皮肤)文件,相当于view
- Conf:系统项目配置目录
- Common:项目中公共用到的资源,如js,css,图片等
- Runtime:系统运行时临时目录(若运行中产生缓存现象,可以将该目录中内容进行删除)
- Cache:模板页面缓存 - Data:数据字段缓存 - Logs:系统运行日志 - Temp:临时文件缓存 - app:系统配置文件编译缓存
5. thinkPHP的访问规则
- http:localhost/thinkphp/index.php/index/index
- Thinkphp规定:所有的主入口文件默认访问index控制器,且所有的控制器默认是去找index方法(动作)
- 控制器类名必须是于文件名相同(除去.class.php),首字母必须大写,后面加上Action,且要继承Action
1 | // 本类由系统自动生成,仅供测试用途 |
- 方法名通常是public(默认),否则thinkphp无法正常解析
6. 控制器与模板之间的关系
Thinkphp中模板和控制器之间的访问原则
- 加载模板(跨模板): $this->display(Action:模板名称)
- 加载模板(本模板):$this->display([模板名称])
1 | //加载到指定的模板 不加后缀 |
- 控制器与模板之间的变量传递
- $this->assign(‘变量名’,’变量值’)
- 在模板中采用{$变量名}的形式输出变量值
- 控制器与模板之间的变量传递
1 | <ul> |
- 控制器调用模板的方式
- URL: 代表当前操作所在木块地址(同控制方法跳转)
- APP:代表当前项目的入口文件的地址(跨控制器方法跳转)
- ROOT:代表网站根目录地址(跨前、后台控制器方法跳转,范围最广)
- 控制器调用模板的方式
7. 配置文件
- 属性配置
- 配置文件在config.php文件里
配置的属性通过大C方法来实例化
- 配置文件在config.php文件里
1 | <?php |
2. 如果有多个配置文件的话,可以通过“LOAD_EXT_CONFIG”=>"user"来进行配置
“LOAD_EXT_CONFIG” => “user”, 在config.php里面配置
1 | <?php |
8. 连接数据库
1 | //数据库配置信息 |