PHP框架 - ThinkPHP5.1
一、composer安装
1.1 安装地址:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 或者 composer config -g repo.packagist composer https://packagist.phpcomposer.com
二、ThinkPHP安装
2.1 安装具体版本命令:composer create-project topthink/think=5.1.41 51test

① 安装不成功,切换一下镜像:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer


② 如果需要更新项目版本,直接进入项目根目录,直接运行如下代码:composer update topthink/framework
三、ThinkPHP框架
3.1 URL解析模式
① 普通模式:

② pathinfo模式:

③ rewrite模式:需要修改配置文件,打开apache的httpd.conf文件, 搜索mod_rewrite.so, 把前面的#去掉就行;然后在index.php入口文件的统计文件目录下新建.htaccess文件(此文件框架安装以后默认有)

④ 兼容模式:

3.2 模块设计
① 绑定模块:修改public/index.php文件

3.3 控制器
① 修改命名空间的应用名称:在项目的根目录新建一个.env的文件,里面指定应用名



② 渲染输出
②.① 直接return

②.② 使用json输出,return json(), 两种形式都可以

②.③ 模板输出, return view()
③ 控制器前置操作

④ 跳转和重定向
④.①

④.② 跳转页面设置,根目录/config/app.php配置文件中修改

⑤ 空方法和空控制器
⑤.① 空方法

⑤.② 空控制器 在对应模块目录下新建一个Error.php, config/app.php默认空控制器名称是Error



3.4 数据库操作
① 操作数据库

② 模型 处理和配置数据库相关信息

![]()

③ 基本查询操作
③.① 基本查询操作



③.② 更多查询操作

④ 新增数据
![]()
![]()


⑤ 修改数据




⑥ 删除数据

⑦区间查询



⑧ 其它查询 exp表示自定义的,where第三个参数自己发挥

⑨ 时间查询
⑨.① 传统查询方式:

⑨.② 快捷查询方式:

⑩ 固定查询


①① 其它查询

①② 聚合、原生和子查询

①②.① 子查询:


①②.② 链式操作


①②.③ field


注意:第5条的 field(true) ,数据库查询的时候不用回表,效率比 * 高多了
①②.④ 链式操作下..
limit

page

order

group


having

3.5 模型
① 模型定义

② 设置模型


③ 模型操作

注意:第2条,数据库操作返回的数据接口是数组数组,模型操作返回的是对象数组,对象数组
④ 模型新增数据




⑤ 模型删除数据


⑥ 模型修改




⑦ 模型查询




⑧ 模型获取器


⑨ 模型修改器

⑩ 模型搜索器



控制器中:

模型中:

①① 模型数据集



①② 模型自动时间戳和指定字段


①③ 模型类型转换和数据完成

①④ 模型查询范围



①⑤ 模型输出


3.6 JSON字段

① 在数据库创建一个json字段

② 添加数据


3.7 路由
① 路由定义





② 路由的变量规则和闭包



② 路由地址




③ 路由缓存

④ 路由参数


⑤ 快捷路由

⑥ 路由分组




⑦ 路由注解

⑧ 路由MISS



⑨ 跨域请求




⑩ 路由绑定

①① 路由别名

①② 资源路由



①② 域名路由



①③ 域名绑定

①④ 路由URL地址生成




3.8 请求对象
① 请求对象




② 请求信息


③ 请求变量







④ HTTP头信息

⑤ 伪静态

⑥ 参数绑定


⑦ 请求缓存

⑧ 响应操作


⑨ 文件下载

3.9 容器和依赖注入
① 依赖注入


② 容器



③ facade





3.10 钩子和行为
① 概念

② 案例演示





3.10 中间件
① 中间件定义




② 前后置中间件

③ 路由中间件




④ 控制器中间件


3.11 异常处理
① 异常处理




3.12 日志处理
① 日志处理





3.13 验证器
① 验证器定义






② 验证场景


③ 验证静态调用

④ 表单令牌


⑤ 验证规则

3.14 session
① session

② scookie




3.15 多语言
① 多语言配置



3.16 文件上传
① 单文件上传


② 多文件上传


3.17 缓存功能
① 缓存配置



3.18 验证码功能
① 验证码
下载验证码命令:composer require topthink/think-captcha=2.0.*




3.19 数据库事件
① 数据库事件


① 模型事件


3.20 关联模型
① 关联模型定义


主表模型

附表模型

控制器




② 一对一关联查询


③ 一对多关联查询



④ 关联预载入




⑤ 关联统计

⑥ 关联输出

⑦ 多对多关联


