描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121336119
前言 ………………………………………………………………………………xxiii
第1 章 为什么使用Laravel ………………………………………………….1
为什么要使用框架 …………………………………………………………………………………….1
“自己动手做” ……………………………………………………………………………………..2
一致性和灵活性 ………………………………………………………………………………….2
Web 和PHP 框架的简史 …………………………………………………………………………….2
Ruby on Rail ……………………………………………………………………………………….2
PHP 框架的涌入 ………………………………………………………………………………….3
CodeIgniter 的优点与缺点 ……………………………………………………………………3
Laravel 1、Laravel 2 和Laravel 3 ………………………………………………………….3
Laravel 4 ……………………………………………………………………………………………4
Laravel 5 ……………………………………………………………………………………………4
Laravel 有什么特别之处 …………………………………………………………………………….4
Laravel 的哲学 ……………………………………………………………………………………4
Laravel 如何让开发者快乐 ……………………………………………………………………5
Laravel 社区 ……………………………………………………………………………………….6
它是如何工作的 ………………………………………………………………………………………..6
为什么使用Laravel ……………………………………………………………………………………9
第2 章 搭建Laravel 的开发环境 …………………………………………11
系统要求 …………………………………………………………………………………………. 11
Composer ………………………………………………………………………………………… 11
本地开发环境 …………………………………………………………………………………………12
Laravel Valet ……………………………………………………………………………………..12
Laravel Homestead …………………………………………………………………………….13
创建一个新的Laravel 项目 ………………………………………………………………………17
使用Laravel 安装工具来安装Laravel ………………………………………………….17
通过Composer 的create-project 来安装Laravel …………………………………….17
Laravel 的目录结构 ………………………………………………………………………………….18
文件夹 ……………………………………………………………………………………………..18
文件 …………………………………………………………………………………………………19
配置 ………………………………………………………………………………………………………19
启动和运行 …………………………………………………………………………………………….20
测试 ………………………………………………………………………………………………………21
本章小结 ………………………………………………………………………………………………..21
第3 章 路由和控制器 ……………………………………………………….23
路由定义 ………………………………………………………………………………………………..23
路由处理 ………………………………………………………………………………………….25
路由参数 ………………………………………………………………………………………….26
路由名称 ………………………………………………………………………………………….27
路由组 ……………………………………………………………………………………………………30
中间件 ……………………………………………………………………………………………..30
路径前缀 ………………………………………………………………………………………….31
子域名路由 ………………………………………………………………………………………32
命名空间前缀 ……………………………………………………………………………………33
名称前缀 ………………………………………………………………………………………….33
视图 ………………………………………………………………………………………………………33
使用视图Composers 在每个视图中共享变量 ………………………………………..35
控制器 ……………………………………………………………………………………………………35
获取用户输入 ……………………………………………………………………………………38
将依赖注入控制器 …………………………………………………………………………….39
资源控制器 ………………………………………………………………………………………40
路由模型绑定 …………………………………………………………………………………………42
隐式路由模型绑定 …………………………………………………………………………….42
自定义路由模型绑定 ………………………………………………………………………….43
路由缓存 ………………………………………………………………………………………………..44
表单方法欺骗(Form Method Spoofing) …………………………………………………….44
HTTP 动词的介绍 ……………………………………………………………………………..44
Laravel 中的HTTP 动词 …………………………………………………………………….45
在HTML 表单中进行HTTP 方法欺骗 …………………………………………………45
CSRF 保护 ……………………………………………………………………………………………..45
重定向 ……………………………………………………………………………………………………47
redirect()->to() …………………………………………………………………………………..48
redirect()->route() ………………………………………………………………………………48
redirect()->back() ………………………………………………………………………………49
其他重定向方法 ………………………………………………………………………………..49
redirect()->with() ……………………………………………………………………………….49
中止请求 ………………………………………………………………………………………………..51
自定义响应 …………………………………………………………………………………………….51
response()->make() …………………………………………………………………………….51
response()->json() 和->jsonp() ………………………
在Web 开发方面,相信大家对PHP 语言并不会感到陌生。是的,使用PHP 语言实现Web 应用开发确实非常便捷,正因如此,PHP 语言获得了大量Web 开发者的忠实拥护,译者也是其中之一。
在开发过程中,如果能使用一款优秀的PHP 框架将会事半功倍。目前使用PHP 语言开发Web 项目通常有三种方案:使用原生PHP 代码(不基于框架)开发、基于框架开发以及基于框架并对框架进行二次开发。对大部分公司来说,开发效率这项指标是非常重要的,又因为框架实际上相当于项目的“半成品”,所以大部分公司可能更倾向于选择一款性能优越的PHP 框架,基于框架进行具体项目的开发。
目前,可以选择的PHP 开发框架有很多,比如Laravel、ThinkPHP、Yii、CakePHP 等,这些框架各有千秋,但如果非要让译者在其中选择出一两款自己更喜欢的框架,那么应该是Laravel 与ThinkPHP。Laravel 框架性能较好,运行速度较快,适合开发中大型项目,在国际范围内都比较流行,但由于Laravel 框架是由国外研发的,所以目前可参考文献与资源在国内都比较匮乏。ThinkPHP 框架是国内研发的,性能同样也非常好,比较适合开发中小型项目,并且国内的可参考文献与资源相对较多。这两款框架都是非常优秀的PHP 开发框架,如果有时间,建议大家对这两款框架进行深入的研究。
这本书主要对Laravel 框架进行了系统的介绍。包括Laravel 背景、Laravel 开发环境的搭建、路由与控制器、Blade 模板、前端组件、收集和处理用户数据、Artisan 和Tinker、数据库和Eloquent、用户认证和授权、请求和响应、容器、Laravel 测试、API 编写、存储与检索、邮件和通知、任务、队列、事件、广播及调度程序、助手和集合等。上面已经提到,Laravel 框架的相关学习资料比较匮乏,因此,衷心希望这本书出版后在一定程度上能够弥补这方面的空缺。
有幸得到博文视点编辑孙奇俏老师的邀请,并在孙老师的监督下完成了本书的翻译与审校工作。但由于我公司事务繁忙,精力有限,所以邀请了我的学生黄梦颖与俞渺共同完成了本书的翻译工作。黄梦颖与俞渺都是非常优秀的高材生,都有过国外留学经历,黄梦颖同学现已获得了新加坡国立大学硕士学位,俞渺同学现已获得墨尔本大学硕士学位。
翻译过程中,我负责正文第1 ~ 6 章翻译以及全书的审校工作,黄梦颖负责正文第7 ~10 章、第13 和14 章、前言、封底、词汇表、作者简介、封面简介等的翻译工作,俞渺负责正文第11 和12 章、第15 ~ 17 章的翻译工作。在此由衷感谢两位同学的艰苦付出,若读者在阅读过程中发现翻译文风略有不同,还请理解。
本书关于Laravel 框架相关知识的介绍非常具体,如果你希望系统地学习并掌握Laravel框架,那么本书将非常适合你。当然,由于Laravel 属于PHP 语言众多框架中的一种,所以,大家在阅读本书之前好先学习一些关于PHP 的基础知识,这样会更容易理解本书的内容。
再次感谢孙奇俏老师的邀请,感谢本书编辑杨嘉媛,孙老师与杨编辑在本书的审稿与编加过程中付出了大量的精力与心血。感谢黄梦颖与俞渺对翻译做出的巨大贡献。感谢本书原作者Matt Stauffer 在写作过程中付出的巨大努力。感谢所有一直支持我的朋友们。
感谢所有PHP 的忠实拥护者与Laravel 爱好者,谢谢你们的支持!
韦玮
2018 年1 月于上海
前言
一个很常见的问题是,应该如何学习Laravel ?尽管已经写了很多年的PHP 程序,但是我不想闭门造车,我想更好地学习Rails 的强大特性,也想学习其他先进的Web 框架。
Rails 有一个非常活跃的社区,完美结合了默认配置及其灵活性,并且具有Ruby Gems的能力来提高预包装的常用代码。
我曾经也很犹豫是否要继续使用PHP,直到知道了Laravel,我才坚定信心。Laravel具备Rails 所有的特性,但它不仅仅是Rails 的一个副本,更是一个全新的Web 框架。
Laravel 提供了非常完善的文档、开放的交流社区,还继承了许多现有的语言和框架。当我在博客和会议中分享Laravel 的学习经验时,我已经使用Laravel 开发了几十个应用程序和项目,并且可以在线或者面对面与成千上万名Laravel 开发者进行交流。我的工具箱中已经有很多种开发工具了,但是当打开命令行终端,输入laravel new project 时,我还是会感到非常激动。
关于本书
这并不是本关于Laravel 的书,也不会是后一本。我不打算让它成为一本涵盖每一行代码或实现模式的书。我也并不希望它一定要与现在版本的Laravel 保持一致。
相反,我编写本书的主要目的是提供一个高阶的概述和具体的例子,帮助开发者更快地学习Laravel。我希望能帮助读者理解Laravel 背后的基本概念,而不是单纯讲解文档。
Laravel 是一个强大且灵活的PHP 框架。它拥有发展迅速的社区、丰富的开发工具,这些特性都让Laravel 越来越受欢迎。本书旨在帮助已经知道如何开发网站和应用程序的开发者学习如何在Laravel 中进行开发。
Laravel 的官方文档非常清晰明了,如果读者对一些特定的内容感兴趣,但本书中又没有进行深入讲解,那么建议读者参考Laravel 的在线文档进行深入学习。
本书不仅对知识点进行概述,也提供了相应的实例。在学习完本书后,相信读者便可以使用Laravel 从头开始实现一个完整的应用程序了。希望本书能激发大家动手操作的兴趣。
目标读者
读者要具备基本的面向对象编程基础,了解PHP(或者至少是C 语言的一般语法),以及模型- 视图- 控制器(MVC)开发模式和模板的基本概念。如果从来没有开发过网站,那么可能会觉得本书的内容比较难懂。但是只要有一定的编程基础,就不需要在阅读本书之前了解Laravel——我们会在本书中从“Hello, world!”开始,覆盖所有需要了解的内容。
本书结构
本书按照时间顺序编写:如果正在使用Laravel 构建个Web 应用程序,那么前面的章节将介绍开始时需要使用的基本组件,后面的章节将更深入地介绍知识点及对应的具体实例。
本书的每一部分都可以单独阅读,但是也力图使章节之间的联系更加紧密,以便刚接触框架的读者能够从头到尾顺畅地进行阅读和学习。
每章节的后都包括“测试”和“本章小结(TL;DR)”,TL;DR 表示“长话短说”。这两部分将展示如何测试对应章节中讲过的方法,并对所涵盖的内容进行高阶概述。
本书基于Laravel 5.3 版本,但是因为Laravel 5.1 是的LTS 版本,所以Laravel 5.2或Laravel 5.3 中的新功能将被标记出来。
评论
还没有评论。