本书以Laravel 5.1版本为基础,从框架技术角度介绍Laravel构建的原理,从源代码层次介绍Laravel功
能的应用。通过本书的学习,读者能够了解Laravel框架实现的方方面面,完成基于该框架的定制化应用程序开发。
本书第1章到第4章主要介绍了与Laravel框架学习相关的基础部分,读者可以深入了解该框架的设计思
想,学习环境搭建,了解PHP语法知识和HTTP协议;第5章到第14章分别从某个方面介绍Laravel框架是如何构建和使用的,包括程序的生命周期、服务容器和数据库等,同时也将其中的一些构建技术剥离开,使读者可以学习该框架的构建技术和思想,如设计模式的内容;第15章是一个简单的实例,将前面的学习内容串联起来并在实践中应用,使读者学会使用该框架定制化地设计应用程序。
本书既适合想了解Laravel框架构建技术的读者,也适合想深入了解Laravel框架的读者。
Laravel——为Web艺术家创造的PHP“全栈”式框架——简单、优雅、高效!
深入探究Laravel的艺术性!
全面解析Laravel的核心点!
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
框架应用的读者。
由于本人的能力有限,书中难免有错误、疏漏的地方,敬请大家批评指正。
致谢
首先,最应该感谢该框架的开发者Taylor Otwell,没有他无私的奉献就没有这么优美的
框架供我们使用和学习;其次,感谢我的家人,是你们的支持和理解让这本书在数不清的加
班中诞生;感谢参与写作、审校的同事,包括陈远征、陶业荣、魏佩、岁赛、胡凯平、赵艳丽、
陈延仓、王鹏、张颂、陈欢、王振全、李鹏飞、赵亚新等;最后,感谢电子工业出版社的孙
学瑛编辑,这本书的出版与你们辛勤的努力和负责的态度是分不开的。