1.TP框架基础
1.1目录结构
1.project 应用部署目录 2.├─application 应用目录(可设置) 3.│ ├─common 公共模块目录(可更改) 4.│ ├─index 模块目录(可更改) 5.│ │ ├─config.PHP 模块配置文件 6.│ │ ├─common.PHP 模块函数文件 7.│ │ ├─controller 控制器目录 8.│ │ ├─model 模型目录 9.│ │ ├─view 视图目录 10.│ │ └─ ... 更多类库目录 11.│ ├─command.PHP 命令行工具配置文件 12.│ ├─common.PHP 应用公共(函数)文件 13.│ ├─config.PHP 应用(公共)配置文件 14.│ ├─database.PHP 数据库配置文件 15.│ ├─tags.PHP 应用行为扩展定义文件 16.│ └─route.PHP 路由配置文件 17.├─extend 扩展类库目录(可定义) 18.├─public WEB 部署目录(对外访问目录) 19.│ ├─static 静态资源存放目录(css,js,image) 20.│ ├─index.PHP 应用入口文件 21.│ ├─router.PHP 快速测试文件 22.│ └─.htaccess 用于 apache 的重写 23.├─runtime 应用的运行时目录(可写,可设置) 24.├─vendor 第三方类库目录(Composer) 25.├─thinkPHP 框架系统目录 26.│ ├─lang 语言包目录 27.│ ├─library 框架核心类库目录 28.│ │ ├─think Think 类库包目录 29.│ │ └─traits 系统 Traits 目录 30.│ ├─tpl 系统模板目录 31.│ ├─.htaccess 用于 apache 的重写 32.│ ├─.travis.yml CI 定义文件 33.│ ├─base.PHP 基础定义文件 34.│ ├─composer.json composer 定义文件 35.│ ├─console.PHP 控制台入口文件 36.│ ├─convention.PHP 惯例配置文件 37.│ ├─helper.PHP 助手函数文件(可选) 38.│ ├─LICENSE.txt 授权说明文件 39.│ ├─PHPunit.xml 单元测试配置文件 40.│ ├─README.md README 文件 41.│ └─start.PHP 框架引导文件 42.├─build.PHP 自动生成定义文件(参考) 43.├─composer.json composer 定义文件 44.├─LICENSE.txt 授权说明文件 45.├─README.md README 文件 46.├─think 命令行入口文件
1.2配置文件
1.框架主配置文件(惯例配置文件) thinkPHP/convention.PHP
2. 应用公共配置文件 application/config.PHP, application/database.PHP 对整个应用生效
3.模块配置文件 application/模块目录/config.PHP 对当前模块生效
1.框架助手函数文件 thinkPHP/helper.PHP
2.应用公共函数文件 application/common.PHP
3.模块函数文件 application/模块目录/common.PHP
2.请求的生命周期
3.TP框架中的控制器
3.1控制器的后缀
打开配置文件application/config.PHP,有如下配置
'controller_suffix' => false,
表示默认情况下,控制器无特殊后缀。例如 Index控制器,文件名为Index.PHP
如果需要进行设置,可以设置为(我们不需要这么设置)
'controller_suffix' => 'Controller',
表示控制器以Controller为后缀。例如Index控制器,文件名为IndexController.PHP
3.2控制器的定义
1.表示控制器以Controller为后缀。例如Index控制器,文件名为IndexController.PHP
定义位置:application/模块目录/controller/目录下
命名规则:控制器名称(首字母大写) + (控制器后缀,默认没有) + .PHP
2.编写控制器
声明命名空间 namespace app\模块目录名\controller
引入控制器基类(可选) use think\Controller; think是命名空间 Controller是基类控制器
定义当前控制器类,继承控制器基类(可选)
3.3框架的命名空间
命名空间本身是PHP就有的,用来防止命名冲突问题的。
TP框架中的命名空间,通常和目录挂钩。
原因:TP中的自动加载机制,会将类的命名空间作为加载路径的一部分。
1. 声明命名空间 使用namespace关键字
2.引入指定的类 使用use关键字 命名空间\类名称
3.完全限定式访问 在使用类时,\完整命名空间\类名称(继承和实例化)
如果一个类没有命名空间,使用 \类名
4.命令行创建模块目录及文件
4.1命名行创建模块目录
PHP think build --module 模块名
4.2命令行创建控制器
PHP think make:controller 模块名/控制器名 PHP think make:controller 模块名/控制器名 --plain
4.3命令行创建模型
PHP think make:model 模块名/模型名
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。