今日好书丨《Laravel框架关键技术解析》

Posted 博文视点Broadview

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了今日好书丨《Laravel框架关键技术解析》相关的知识,希望对你有一定的参考价值。

今日好书丨《Laravel框架关键技术解析》

《Laravel框架关键技术解析》

为web艺术家创造的php“全栈”式框架

简单、优雅、高效

深入研究Laravel的艺术性

全面解析Laravel的核心点

陈昊 陈远征 陶业荣 等 编著

2016年7月出版

今日好书丨《Laravel框架关键技术解析》 

小编推荐: 本书以新版本为基础进行介绍的。首先,本书从当前软件的开发思想和前沿编程技术讲起,而这些技术恰恰是laravel框架如此优雅的表现形式、模块间的低耦合、可扩展、易复用、支持分布式系统开发、支持异步数据处理等等一系列优势的核心。在此基础上从整体和模块两个层次上对laravel框架的运行机理和实现细节进行了详细介绍,通过具体实例介绍了laravel框架的应用,最后通过一个简单的web应用实例将这些内容串联起来,最终达到学以致用的目的。

  • 下方评论区留下对此书的想法,选取一名幸运同学将赠此书,8月10日公布获奖用户。


内容提要

本书以Laravel5.1版本为基础,从框架技术角度介绍Laravel构建的原理,从源代码层次介绍Laravel功能的应用。通过本书的学习,读者能够了解Laravel框架实现的方方面面,完成基于该框架的定制化应用程序开发。1章到第4章主要介绍了与Laravel框架学习相关的基础部分,读者可以深入了解该框架的设计思想,学习环境搭建,了解PHP语法知识和HTTP协议;第5章到第14章分别从某个方面介绍Laravel框架是如何构建和使用的,包括程序的生命周期、服务容器和数据库等,同时也将其中的一些构建技术剥离开,使读者可以学习该框架的构建技术和思想,如设计模式的内容;第15章是一个简单的实例,将前面的学习内容串联起来并在实践中应用,使读者学会使用该框架定制化地设计应用程序。


作译者简介

陈昊,2008年毕业于中国科学技术大学自动化系,保送研究生保留学籍,工作两年后回学校读硕士研究生,2013年毕业。目前于洛阳某研究所工作,从事网络安全、数据挖掘等方面工作。


前  言

Laravel框架

Laravel框架是通过PHP 编程语言编写的,而PHP 编程语言因为其混乱的设计和不优雅的风格有时被认为设计得很糟糕,但是它也有自身的优势,就是专为Web 开发而生,简单高效是它的法宝,这里的高效不是指它运行的速度快,而是同样的一个任务用它完成的速度快。有统计表明,同样的任务,用PHP 开发的时间是用Java 开发的时间的一半左右,因此也诞生了大量用PHP 编写的Web 框架(如Symfony、CodeIgniter、Yii Framework 等)和内容管理系统(如drupal、Joomla、WordPress 等),通过这些资源可以更加快速地构建Web应用。前面提到,PHP 编程语言设计得不是很优美,所以很多用PHP 编写的框架也比较混乱,而Laravel框架开发的宗旨就是为Web 艺术家创造的PHP 框架,用糟糕的编程语言设计优雅的框架这一点非常难,但是Laravel做到了,对于用户的请求,它就像流水线作业一样,通过一道道工序处理用户的请求,然后返回处理的结果。在这个过程中,用户可以很容易地增加、修改、删除其中的工序,实现定制化。能够做到这些,我想主要是因为开发者在设计期间采用了组件化开发、依赖注入、接口编程等技术,组件化开发使得整个框架像搭积木一样构建起来,因此就可以非常容易地添加、删减功能,体现了编程技术中的易复用、可扩展等特性,依赖注入、接口编程使得模块间的耦合非常低,如果想将某个模块替换自己新设计的模块,只需要满足接口规范就不会对其他模块产生影响,这体现了编程技术中的易维护特性。总之,通过学习Laravel框架,不仅可以掌握Web 开发的方方面面,最重要的是能够学到构建一个优秀框架的思想和方法。

适合的读者

撰写本书的初衷是我在学习Laravel框架的过程中看到中文的资料很少,英文资料大多是如何应用该框架,而这些知识不足以支持你创建一个定制化的应用,于是,我花了大量的时间在阅读该框架的源码上,走过了盲人摸象的过程,最后才看到了Laravel框架的真面目,这个过程其实是非常低效的。所以,我希望能写一本这样的书,使得以后学习该框架的人能够少走弯路,节省出更多的时间去做更有意义的事。

本书重点介绍了Laravel框架构建的关键技术,即组件化开发和使用的相关设计模式,所以本书适合想了解框架构建技术的读者。同时,本书是从源码层次分析该框架实现的几个方面,通过这些源码读者能了解实现的细节,从而很容易实现对该框架的定制和修改,并非只是简单的应用,通过掌握该框架的几个重要方面,读者能够在整体上把握Laravel框架实现的过程,所以本书适合想深入了解Laravel框架的读者。但是本书并没有提供太多的应用实例,也没有将Laravel框架的所有功能进行全部介绍,所以并不适合想快速学习Laravel框架应用的读者。由于本人的能力有限,书中难免有错误、疏漏的地方,敬请大家批评指正。


本书目录

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

今日好书丨《Laravel框架关键技术解析》

 

博文视点

您阅读的专业智库

了解更多本书详情请点击阅读原文

长按二维码轻松关注


以上是关于今日好书丨《Laravel框架关键技术解析》的主要内容,如果未能解决你的问题,请参考以下文章

今日好书丨《深入理解 Flask》

今日好书丨《深度学习框架PyTorch:入门与实践》

今日好书丨Python高效开发实战——DjangoTornadoFlaskTwisted

今日好书丨《智能运维:从0搭建大规模分布式AIOps系统》

今日好书丨《前端函数式攻城指南》

今日好书丨《跟老齐学Python:Django实战》