Laravel框架关键技术解析
出版信息
陈昊、陈远征、陶业荣 / 电子工业出版社 / 2016-7 / 79.00元
内容简介
《Laravel框架关键技术解析》以Laravel 5.1版本为基础,从框架技术角度介绍Laravel构建的原理,从源代码层次介绍Laravel功能的应用。通过本书的学习,读者能够了解Laravel框架实现的方方面面,完成基于该框架的定制化应用程序开发。
《Laravel框架关键技术解析》第1章到第4章主要介绍了与Laravel框架学习相关的基础部分,读者可以深入了解该框架的设计思想,学习环境搭建,了解PHP语法知识和HTTP协议;第5章到第14章分别从某个方面介绍Laravel框架是如何构建和使用的,包括程序的生命周期、服务容器和数据库等,同时也将其中的一些构建技术剥离开,使读者可以学习该框架的构建技术和思想,如设计模式的内容;第15章是一个简单的实例,将前面的学习内容串联起来并在实践中应用,使读者学会使用该框架定制化地设计应用程序。
《Laravel框架关键技术解析》既适合想了解Laravel框架构建技术的读者,也适合想深入了解Laravel框架的读者。
作者简介
陈昊,2008年毕业于中国科学技术大学自动化系,保送研究生保留学籍,工作两年后回学校读硕士研究生,2013年毕业。目前于洛阳某研究所工作,从事网络安全、数据挖掘等方面工作。
目录
第1 章组件化开发与composer 使用……………………………………………… 1
1.1 组件化开发………………………………………………………………………… 1
1.2 composer 使用……………………………………………………………………… 2
1.2.1 composer 安装…………………………………………………………………………2
1.2.2 组件安装………………………………………………………………………………5
1.2.3 自动加载………………………………………………………………………………6
1.2.4 composer 命令行简介…………………………………………………………………7
1.3 手动构建Laravel框架……………………………………………………………… 8
1.3.1 项目初始化……………………………………………………………………………8
1.3.2 添加路由组件…………………………………………………………………………9
1.3.3 添加控制器模块……………………………………………………………………12
1.3.4 添加模型组件………………………………………………………………………13
1.3.5 添加视图组件………………………………………………………………………17
第2 章Laravel框架安装与调试环境建立……………………………………… 21
2.1 Windows 开发环境搭建和调试………………………………………………… 21
2.1.1 Laravel框架安装……………………………………………………………………21
2.1.2 开发调试环境搭建…………………………………………………………………22
2.2 Linux 开发环境搭建……………………………………………………………… 31
2.2.1 LAMP 环境搭建……………………………………………………………………31
2.2.2 Laravel安装…………………………………………………………………………36
第3 章Laravel框架中常用的PHP 语法……………………………………… 39
3.1 组件化开发语法条件…………………………………………………………… 39
3.1.1 命名空间……………………………………………………………………………39
3.1.2 文件包含……………………………………………………………………………43
3.2 匿名函数………………………………………………………………………… 48
3.2.1 匿名函数的使用……………………………………………………………………49
3.2.2 Laravel框架中的应用………………………………………………………………49
3.3 PHP 中的特殊语法……………………………………………………………… 50
3.3.1 魔术方法……………………………………………………………………………50
3.3.2 魔术常量……………………………………………………………………………53
3.4 反射……………………………………………………………………………… 55
3.5 后期静态绑定…………………………………………………………………… 58
3.6 Laravel中使用的其他新特性…………………………………………………… 60
3.6.1 trait …………………………………………………………………………………60
3.6.2 简化的三元运算符…………………………………………………………………63
第4 章Laravel框架中使用的HTTP 协议基础………………………………… 64
4.1 HTTP 发展与相关网络技术……………………………………………………… 64
4.1.1 HTTP 发展…………………………………………………………………………64
4.1.2 与HTTP 协议相关的网络技术……………………………………………………65
4.2 HTTP 协议简介…………………………………………………………………… 71
4.2.1 HTTP 协议工作流程………………………………………………………………71
4.2.2 请求报文和响应报文结构简介……………………………………………………71
第5 章Laravel框架初识………………………………………………………… 77
5.1 Laravel框架应用程序目录结构………………………………………………… 77
5.1.1 Laravel框架应用程序根目录介绍…………………………………………………77
5.1.2 app 目录介绍………………………………………………………………………78
5.1.3 vendor 目录介绍……………………………………………………………………78
5.2 Laravel框架应用程序的三个重要环节………………………………………… 79
5.2.1 路由…………………………………………………………………………………79
5.2.2 控制器………………………………………………………………………………82
5.2.3 视图…………………………………………………………………………………86
第6 章Laravel框架中的设计模式……………………………………………… 92
6.1 服务容器………………………………………………………………………… 92
6.1.1 依赖与耦合…………………………………………………………………………92
6.1.2 工厂模式……………………………………………………………………………94
6.1.3 IoC模式……………………………………………………………………………95
6.1.4 源码解析……………………………………………………………………………99
6.2 请求处理管道简介……………………………………………………………… 104
6.2.1 装饰者模式…………………………………………………………………………105
6.2.2 请求处理管道………………………………………………………………………106
6.2.3 部分源码……………………………………………………………………………110
第7 章请求到响应的生命周期………………………………………………… 114
7.1 程序启动准备…………………………………………………………………… 114
7.1.1 服务容器实例化……………………………………………………………………115
7.1.2 核心类(Kernel 类)实例化………………………………………………………120
7.2 请求实例化……………………………………………………………………… 121
7.3 处理请求………………………………………………………………………… 124
7.3.1 请求处理准备工作…………………………………………………………………125
7.3.2 中间件………………………………………………………………………………137
7.3.3 路由处理生成响应…………………………………………………………………140
7.4 响应的发送与程序终止………………………………………………………… 146
7.4.1 响应的发送…………………………………………………………………………146
7.4.2 程序终止……………………………………………………………………………148
第8 章服务容器与服务提供者………………………………………………… 150
8.1 服务容器………………………………………………………………………… 150
8.1.1 服务容器的产生……………………………………………………………………150
8.1.2 服务绑定…………………………………………………………………………… 151
8.1.3 服务解析……………………………………………………………………………153
8.2 服务提供者……………………………………………………………………… 156
8.2.1 创建服务提供者……………………………………………………………………157
8.2.2 注册服务提供者……………………………………………………………………158
8.2.3 缓载服务提供者……………………………………………………………………158
第9 章请求与响应的操作……………………………………………………… 160
9.1 HTTP 请求实例的操作…………………………………………………………… 160
9.1.1 请求实例的获取……………………………………………………………………160
9.1.2 请求参数的获取……………………………………………………………………161
9.1.3 请求参数的一次存储………………………………………………………………165
9.1.4 获取一次存储数据…………………………………………………………………166
9.2 HTTP 响应………………………………………………………………………… 166
9.2.1 生成响应的主体内容………………………………………………………………167
9.2.2 生成自定义响应的实例……………………………………………………………167
9.2.3 生成重定向的响应…………………………………………………………………170
第10 章数据库及操作…………………………………………………………… 174
10.1 数据库迁移与填充……………………………………………………………… 174
10.1.1 数据库迁移…………………………………………………………………………174
10.1.2 数据库填充…………………………………………………………………………178
10.2 查询构造器……………………………………………………………………… 180
10.2.1 PHP 中数据库的操作………………………………………………………………181
10.2.2 数据库连接的封装………………………………………………………………185
10.2.3 查询构造器的实现………………………………………………………………191
10.2.4 查询构造器的使用…………………………………………………………………192
10.2.5 查询构造器的数据库操作………………………………………………………196
10 .3 Eloquent ORM………………………………………………………………… 198
10.3.1 Eloquent ORM 的底层实现………………………………………………………198
10.3.2 Eloquent ORM 的使用……………………………………………………………205
第11 章redis数据库…………………………………………………………… 214
11.1 redis数据库简介……………………………………………………………… 214
11.1.1 安装………………………………………………………………………………214
11.1.2 redis数据结构……………………………………………………………………215
11.2 redis数据库的应用…………………………………………………………… 220
11.2.1 数据存取……………………………………………………………………………220
11.2.2 redis数据库编程思想……………………………………………………………234
11.2.3 发布、订阅消息……………………………………………………………………235
第12 章会话……………………………………………………………………… 239
12.1 Cookie 技术…………………………………………………………………… 239
12.2 session 技术…………………………………………………………………… 241
12.2.1 session 的工作机制………………………………………………………………241
12.2.2 session 的配置……………………………………………………………………244
12.3 Laravel框架中的session 机制……………………………………………… 245
12.3.1 session 的启动……………………………………………………………………246
12.3.2 session 的操作……………………………………………………………………252
12.3.3 session 的关闭……………………………………………………………………253
第13 章消息队列………………………………………………………………… 256
13.1 同步类型消息队列……………………………………………………………… 257
13.1.1 消息发送……………………………………………………………………………257
13.1.2 消息处理……………………………………………………………………………265
13.2 数据库类型消息队列…………………………………………………………… 267
13.2.1 参数配置……………………………………………………………………………267
13.2.2 数据表的建立………………………………………………………………………267
13.2.3 消息的生成、发送与处理…………………………………………………………269
13.2.4 消息存储……………………………………………………………………………269
13.2.5 消息获取……………………………………………………………………………270
第14 章认证与数据验证………………………………………………………… 273
14.1 认证……………………………………………………………………………… 273
14.1.1 认证模块的配置……………………………………………………………………273
14.1.2 数据表的建立………………………………………………………………………274
14.1.3 添加用户认证路由…………………………………………………………………275
14.1.4 认证视图的创建……………………………………………………………………276
14.1.5 用户权限认证………………………………………………………………………279
14.2 数据验证………………………………………………………………………… 285
14.2.1 数据验证的实现…………………………………………………………………285
14.2.2 数据验证的其他使用方法………………………………………………………289
14.2.3 数据验证后期处理………………………………………………………………290
14.2.4 数据验证准则……………………………………………………………………291
第15 章思维笔记实例…………………………………………………………… 293
15.1 数据库设计……………………………………………………………………… 293
15.1.1 数据表设计………………………………………………………………………293
15.1.2 模型类设计………………………………………………………………………296
15.2 路由设计………………………………………………………………………… 301
15.2.1 模块划分…………………………………………………………………………301
15.2.2 程序设计…………………………………………………………………………301
15.3 控制器设计与Web 页面设计………………………………………………… 301
15.3.1 用户认证模块………………………………………………………………………302
15.3.2 用户管理模块………………………………………………………………………307
15.3.3 笔记类别管理模块………………………………………………………………311
15.3.4 笔记管理模块………………………………………………………………………317