1.闭包函数
http://www.kancloud.cn/thinkphp/thinkphp5_quickstart/145250 闭包定义
2.
三请求和响应_自动注入请求对象
http://www.kancloud.cn/thinkphp/thinkphp5_quickstart/145255
public function hello(Request $request){}
3.
四数据库
http://www.kancloud.cn/thinkphp/thinkphp5_quickstart/147279
事务操作
数据库类型应为InnoDB而不是MyISAM
事务内失败会自动回滚
分块查询
chunk 是在mysql内部的分块操作方法
4.
六模型与关联
http://www.kancloud.cn/thinkphp/thinkphp5_quickstart/147284
(1)模型定义
一般来说,一个应用的模型都是公用的,不区分模块,所以不必在每个模块下面定义模型。
(2)基础操作
模型的get
方法和Db
类的find
方法返回结果的区别在于,Db
类默认返回的只是数组(注意这里说的默认,其实仍然可以设置为对象),而模型的get
方法查询返回的一定是当前的模型对象实例。
默认情况下,实例化模型类后第一次执行的save
操作都是执行的数据库insert
操作,如果你需要实例化执行save
执行数据库的update
操作,请确保在save
方法之前调用isUpdate
方法;
默认情况下,查询模型数据后返回的模型示例执行save
操作都是执行的数据库update
操作,如果你需要实例化执行save
执行数据库的insert
操作,请确保在save方法之前调用isUpdate
方法。
ActiveRecord
Active Record(活动记录),是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表,而模型类的一个实例对应表中的一行记录。
Active Record 本身的设计适合非常简单的领域需求,对于复杂的模型尤其是模型关联缺少足够的支持,但ThinkPHP5的模型操作对于模型关联也提供了强有力的支持。
5.
二URL和路由
默认情况下,控制器和操作名不区分大小写,但控制器默认只有第一个字母大写,如果需要控制器驼峰,使用下划线_。
// 是否自动转换URL中的控制器和操作名
'url_convert' => true,