3、composer
类似于js的npm或者yarn,用于管理依赖包
4、若使用tp框架,网站根目录为public
5、apache服务器下,访问模块>控制器>方法时,出现No input file specified的情况时,应修改public中的 .htaccess 文件
6、创建控制器(使用命令行)
在框架根目录(不是public入口文件)下,进入终端,输入命令。
(1)资源控制器
php think make:controller 模块名/控制器名
(2)普通控制器
php think make:controller 模块名/控制器名 --plain
7、路由
route.php文件,该文件可以在路径分发后触发函数(触发应用模块中的函数),或者直接触发函数(触发路由文件中的函数)
以下主要讨论路径分发后触发的方式
(1)概念
访问网站必需通过的一个地方,和日常的路由器分配网络的机理类似,作用是通过自定义规则,直接访问模块,简化url。
(2)原理
实际上是一个制定 “路径” 规则的文件,若请求符合某个规则,就会访问规则相应的模块。
8、路由类型
(1)普通路由
链接到模块>控制器>方法。
(2)资源路由
链接到模块>控制器,使用内部方法时,需要字符串拼接,且调用不同的方法时,会默认进行不同的请求方式。
9、路由参数
区别于?传参的形式,路由参数直接写在路径中。但是定义方法时,需要带上:
10、模板渲染
在控制器方法中,返回view(),即可套用相应view文件夹下的网页模板。
(1)view文件夹与controller文件夹同级。
(2)模板文件夹名应该与控制器名,同名且相对应。
11、模板继承
(1)概念
子模板继承父模板的内容,使得不同模板需求的页面,可以得到按需定制的模板。
(2)在view文件夹中,创建父模板、各种子模板
(3)在父模板中,需要被继承的html写死,而可变内容则用占位符
{ block name:"xxx" } { /block } // 占位符格式
(4)在子模板中,通过继承符,继承父模板内容,再往相应name的占位符填充内容
{ extend name=' 父模板url ' / } // 继承符格式
{ block name:"xxx" } html { /block } // 占位符填充
12、数据迁移
(1)概念
通过代码创建数据库结构,防止数据库被破坏后无法恢复,有git的感觉
(2)创建数据库结构文件
php think migrate:create xxx // xxx为数据文件名,必须是开头大写的驼峰式命名
(3)在change方法内创建表、列字段
(4)上传数据库结构到当前已关联的数据库
php think migrate:run
(5)撤销上传,将数据库恢复上次的状态
php think migrate:rollback
13、数据填充
(1)概念
区别于前台往数据库的数据插入,后台以数据填充的方式添加数据。
(2)创建填充文件
php think seed:create xxx
(3)在run方法内创建数据
(4)上传数据到当前已关联的数据库
php think seed:run