1.TP框架基础php
1.1目录结构css
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配置文件thinkphp
1.框架主配置文件(惯例配置文件) thinkphp/convention.php数据库
2. 应用公共配置文件 application/config.php, application/database.php 对整个应用生效apache
3.模块配置文件 application/模块目录/config.php 对当前模块生效json
1.3app
composer
框架
函数
3.TP框架中的控制器
3.1控制器的后缀
打开配置文件application/config.php,有以下配置
'controller_suffix' => false,
若是须要进行设置,能够设置为(咱们不须要这么设置)
'controller_suffix' => 'Controller',
表示控制器以Controller为后缀。例如Index控制器,文件名为IndexController.php
3.2控制器的定义
1.表示控制器以Controller为后缀。例如Index控制器,文件名为IndexController.php
定义位置:application/模块目录/controller/目录下
命名规则:控制器名称(首字母大写) + (控制器后缀,默认没有) + .php
默认:Index控制器 Index.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 模块名/模型名