一.什么是框架
框架就是一些代码类、方法(函数)、变量、常量的集合,这些代码是功能结构性的代码(并非业务代码)。业务代码其实就是具体的一些模块的增删改查逻辑代码。
使用框架开发项目,有便于代码重用、开发效率高、代码规范好、便于功能扩展等优点。
二.三层架构:MVC
M:模型model,处理业务数据,与数据库做交互。
V:视图view,显示html页面,用户能够看到并与之交互的页面。
C:控制器controller,接收请求,调用模型处理数据,调用视图显示页面。
整个网站应用,分为模型、视图、控制器三大部分组成。
三.tp开发规范
命名规范
目录和文件
函数和类、属性命名
常量和配置
数据表和字段
|
四.安装框架
总结:tp框架就是用啥都需要安置扩展:安装框架,展示视图,包括多应用
1.安装tp6.0框架要求:php环境必须高于:7.1.0
2.6.0版本开始,必须通过Composer方式安装和更新,所以你无法通过Git下载安装
3.安装稳定版本命令:
composer create-project topthink/think tp
默认安装的是单应用!如果想使用多应用则需要安装多应用的扩展!:
composer require topthink/think-multi-app
4.配置:
├─app(应用目录) │ ├─app1 (应用1) │ │ └─config(应用配置) │ │ ├─app.php 应用配置 │ │ ├─cache.php 缓存配置 │ │ ├─cookie.php Cookie配置 │ │ ├─database.php 数据库配置 │ │ ├─lang.php 多语言配置 │ │ ├─log.php 日志配置 │ │ ├─route.php URL和路由配置 │ │ ├─session.php Session配置
│ │ └─ … 更多配置文件 │ │ │ └─ app2… (更多应用) │ ├─config(全局配置) │ ├─app.php 应用配置 │ ├─cache.php 缓存配置 │ ├─console.php 控制台配置 │ ├─cookie.php Cookie配置 │ ├─database.php 数据库配置 │ ├─filesystem.php 文件磁盘配置 │ ├─lang.php 多语言配置 │ ├─log.php 日志配置 │ ├─middleware.php 中间件配置 │ ├─route.php URL和路由配置 │ ├─session.php Session配置 │ ├─trace.php Trace配置 │ ├─view.php 视图配置 │ └─ … 更多配置文件 │ |
调试模式
(见手册—错误与调试—调试模式)
强烈建议在开发阶段始终开启调试模式(直到正式部署后关闭调试模式),方便及时发现隐患问题和分析、解决问题
应用默认是部署模式,在开发阶段,可以修改环境变量APP_DEBUG开启调试模式,上线部署后切换到部署模式。
默认应用跟目录有一个.example.env文件
本地开发的时候可以在应用根目录定义.env文件。
即复制一份.example.env命名为.env文件即可
开启调试错误信息的好处:
- 开启日志记录,任何错误信息和调试信息都会详细记录,便于调试;
- 会详细记录整个执行过程;
- 模板修改可以即时生效;
- 通过Trace功能更好的调试和发现错误;
- 发生异常的时候会显示详细的异常信息;
五、多应用智能识别
前面说过,给不同的应用绑定不同的域名或者入口是简化URL地址最有效的办法,如果没有绑定入口或者域名的情况下,URL里面的应用名其实是会自动识别的,假设我们访问一个不存在的应用,例如访问:
http://tp.com/think
假设并不存在think
应用,这个时候系统会自动切换到单应用模式,如果有定义全局的路由,也会进行路由匹配检查,例如我们在route/route.php
全局路由中注册了think
路由规则:
Route::get('think', function () {
return 'hello,ThinkPHP!';
});
访问上面的URL就会输出
hello,ThinkPHP!
实际上是首先定位think
应用是否存在,因为这里think
应用不存在,所以会去匹配全局路由,如果没有匹配到全局路由的话,那么会把think
当成单应用的控制器。
如果你希望think
应用不存在的时候,直接访问默认应用的路由,可以在app.php
中配置
// 开启应用快速访问
'app_express' => true,
// 默认应用
'default_app' => 'home',
这个时候就会访问home
应用下的think
路由规则而不是全局路由规则。