Laravel入门与实战(第2版):构建主流PHP应用开发框架
  • 推荐0
  • 收藏2
  • 浏览425

Laravel入门与实战(第2版):构建主流PHP应用开发框架

(美)Matt Stauffer(马特 斯托弗) (作者)  韦玮 (译者)

  • 书  号:978-7-121-41757-3
  • 出版日期:2021-08-31
  • 页  数:512
  • 开  本:16(178*233)
  • 出版状态:上市销售
  • 原书名: Laravel: Up and Running,2e
  • 原书号:0000000000028
  • 维护人:孙奇俏
纸质版 ¥138.00
这是一本实用的Laravel 技术指南,第2 版完全涵盖Laravel 5.8 版本的内容。本书对Laravel 框架进行了系统的介绍,包括Laravel 的背景,Laravel开发环境的搭建,路由与控制器,Blade 模板,数据库和Eloquent,前端组件,收集和处理用户数据,Artisan 和Tinker,用户认证和授权,请求、响应和中间件,容器,测试等知识。
通过阅读本书,读者可以比较全面地学习并掌握Laravel 开发的相关理论知识。另外,书中涵盖大量实例,有利于读者在学习理论知识的过程中同步进行实践。
宇宙至强语言PHP的“全栈”框架Lavaral迎来升级版:前沿、主流、高效、全面!包含新版本的全面知识点!
译者序
收到《Laravel 入门与实战》将出第2 版的消息,我非常高兴,也非常感谢大家对这本书的喜爱。随着Laravel 的发展与壮大,Laravel 框架在一些方面进行了更新和改进,这本书紧跟时代的脚步,在第1 版的基础上对更新的部分进行了详尽的介绍。
在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 编写、存储和读取、邮件和通知、任务、队列、事件、广播及调度器、助手函数和集合等。
有幸得到博文视点孙奇俏老师的再次邀请,并在孙老师的督促和帮助下完成了本书第2版的翻译与审校工作,本书第2 版的翻译工作由我与有明一起完成。
翻译过程中,我负责前言、正文第1 ~ 9 章、封底、作者简介、封面简介等的翻译工作,有明负责正文第10 ~ 18 章、词汇表的翻译工作。在此由衷地感谢有明的辛苦付出,若读者在阅读过程中发现翻译文风略有不同,还请理解。
本书关于Laravel 框架相关知识的介绍非常具体,如果你希望系统地学习并掌握Laravel框架,那么本书将非常适合你。当然,由于Laravel 是PHP 语言众多框架中的一种,所以,大家在阅读本书之前最好先学习一些关于PHP 的基础知识,这样会更容易理解本书的内容。
再次感谢孙奇俏老师的邀请,感谢孙老师在本书的审稿与编辑过程中付出的大量精力与心血。感谢本书原作者Matt Stauffer 在写作过程中付出的巨大努力。感谢所有一直支持我的朋友们。感谢所有PHP 的忠实拥护者与Laravel 爱好者,谢谢你们的支持!
韦玮


前言
我是这样开始使用Laravel 的:尽管已经写了很多年的PHP 程序,但是我不想因循守旧,我想更好地学习Rails 的强大特性,也想学习其他先进的Web 框架。Rails 有一个非常活跃的社区,完美地结合了默认配置及其灵活性,并且通过使用Ruby Gems 可以实现预包装常用代码。
我曾经也很犹豫是否要继续使用PHP,直到知道了Laravel,才使我坚定了信心。Laravel具备Rails 所有的特性,但它不仅仅是Rails 的一个副本,更是一个全新的Web 框架。Laravel 提供了非常完善的文档、开放的交流社区,还继承了许多现有的语言和框架。当我在博客和会议中分享Laravel 的学习经验时,我已经使用Laravel 开发了几十个应用程序和项目,并且可以在线或面对面地与成千上万名Laravel 开发者进行交流。我的工具箱中有很多种开发工具,但是当打开命令行终端,输入laravel new projectName 时,我还是会感到非常激动。
关于本书
这并不是第一本关于Laravel 的书,也不会是最后一本。我不打算让它成为一本涵盖每一行代码或实现每一个模式的书。我也并不希望它一定要与现在最新版本的Laravel 保持一致。我编写本书的主要目的是提供一个深入的介绍和一些具体的例子,帮助开发者更快地学习Laravel。我希望能帮助读者理解Laravel 背后的基本概念,而不是单纯地讲解文档。
Laravel 是一个强大且灵活的PHP 框架。它拥有发展迅速的社区、丰富的开发工具,这些特性都让Laravel 越来越受欢迎。本书旨在帮助已经知道如何开发网站和应用程序的开发者学习如何在Laravel 中进行开发。
Laravel 的官方文档清晰明了,如果读者对一些特定的内容感兴趣,但本书中又没有进行深入讲解,那么建议读者参考Laravel 的官方文档进行深入学习。
本书不仅对知识点进行了介绍,还提供了相应的实例。在学习完本书后,相信读者可以使用Laravel 从头开始实现一个完整的应用程序。我也希望本书能激发读者动手操作的兴趣。目标读者
读者要具备基本的面向对象编程基础,了解PHP(或者至少是C 语言的一般语法),以及模型—视图—控制器(MVC)开发模式和模板的基本概念。如果你从来没有开发过网站,那么可能会觉得本书的内容比较难懂。但是只要有一定的编程基础,就不需要在阅读本书之前了解Laravel——我们会在本书中从“Hello, world !”开始覆盖所有需要了
解的内容。
Laravel 可以在任何操作系统上运行,但是本书会涉及一些bash(shell)命令,其在Linux/macOS 上运行比较方便。Windows 用户使用这些命令进行PHP 开发可能会比较困难,但是如果你按照说明运行Homestead(一个Linux 虚拟机),则可以通过Homestead运行所有命令。
本书结构
本书按照我构建一个网站所进行操作的先后顺序编写:如果你正在使用Laravel 构建第一个Web 应用程序,那么前面的章节将介绍开始时需要使用的基本组件,后面的章节将更深入地介绍知识点及对应的具体实例。
本书的每一部分都可以单独阅读,但是我也力图使章节之间的联系更加紧密,以便刚接触该框架的读者能够从头到尾顺畅地进行阅读和学习。
几乎每章的最后都包括“测试”和“小结”,这两个部分将展示如何测试对应章节中讲过的方法,并对所涵盖的内容进行回顾。
本书基于Laravel 5.8 版本,但仍然涵盖并介绍了自Laravel 5.1 以来的相关版本的功能和语法变化。
关于第2 版
《Laravel 入门与实战》的英文第1 版于2016 年11 月发布,涵盖了Laravel 5.1 至5.3 版本。第2 版增加了Laravel 5.4 至5.8 版本的内容,以及Laravel Dusk 和Horizon 的相关知识,同时增加了第18 章,该章主要介绍的是一些有关社区资源和其他非核心Laravel 软件包的内容,这些内容在前17 章中并未涉及。

目录

目录

第1 章 为什么使用Laravel................................................... 1
为什么要使用框架 ........................................................................................................ 1
“自己动手做” ........................................................................................................ 1
一致性和灵活性 .................................................................................................... 2
Web 和PHP 框架简史 ................................................................................................... 2
Ruby on Rails ........................................................................................................ 2
PHP 框架的涌入 .................................................................................................... 2
CodeIgniter 的优点与缺点 .................................................................................... 3
Laravel 1、Laravel 2 和Laravel 3 ......................................................................... 3
Laravel 4 ............................................................................................................... 3
Laravel 5 ............................................................................................................... 4
Laravel 有什么特别之处 ............................................................................................... 4
Laravel 的哲学 ...................................................................................................... 4
Laravel 如何让开发者感到快乐 ............................................................................ 5
Laravel 社区 .......................................................................................................... 6
Laravel 是如何工作的 ................................................................................................... 6
使用Laravel 的原因 ...................................................................................................... 9

第2 章 搭建Laravel 的开发环境............................................10
系统要求 ..................................................................................................................... 10
Composer .................................................................................................................... 11
本地开发环境 ............................................................................................................. 11
Laravel Valet ........................................................................................................ 11
Laravel Homestead .............................................................................................. 12
创建一个新的Laravel 项目 ........................................................................................ 12
使用Laravel 安装工具来安装Laravel ................................................................ 13
通过Composer 的create-project 特征来安装Laravel ......................................... 13
Lambo :超强的“Laravel New”指令 ................................................................ 13
Laravel 的目录结构..................................................................................................... 14
文件夹 ................................................................................................................. 14
其他文件 ............................................................................................................. 15
配置 ............................................................................................................................ 16
.env 文件 ............................................................................................................. 18
启动和运行 ................................................................................................................. 20
测试 ............................................................................................................................ 20
小结 ............................................................................................................................ 21

第3 章 路由和控制器.......................................................... 22
对MVC、HTTP 动词和REST 的快速介绍 ................................................................ 22
什么是MVC ....................................................................................................... 22
HTTP 动词 .......................................................................................................... 23
什么是REST ....................................................................................................... 24
路由定义 ..................................................................................................................... 25
路由动词 ............................................................................................................. 26
路由处理 ............................................................................................................. 27
路由参数 ............................................................................................................. 28
路由名称 ............................................................................................................. 29
路由组 ......................................................................................................................... 31
中间件 ................................................................................................................. 32
路径前缀 ............................................................................................................. 34
后备路由 ............................................................................................................. 35
子域名路由.......................................................................................................... 35
命名空间前缀 ...................................................................................................... 36
名称前缀 ............................................................................................................. 36
签名的路由 ................................................................................................................. 37
对路由进行签名 .................................................................................................. 37
修改路由以允许签名链接 ................................................................................... 38
视图 ............................................................................................................................ 39
直接通过Route::view() 返回简单路由 ................................................................ 40
使用视图Composer 在每个视图中共享变量 ...................................................... 40
控制器 ......................................................................................................................... 40
获取用户输入 ...................................................................................................... 43
将依赖注入控制器 .............................................................................................. 44
资源控制器.......................................................................................................... 45
API 资源控制器 .................................................................................................. 46
单一动作控制器 .................................................................................................. 47
路由模型绑定 ............................................................................................................. 47
隐式路由模型绑定 .............................................................................................. 48
自定义路由模型绑定 ........................................................................................... 49
路由缓存 ..................................................................................................................... 49
表单方法欺骗 ............................................................................................................. 50
Laravel 中的HTTP 动词 ..................................................................................... 50
在HTML 表单中进行HTTP 方法欺骗 ............................................................... 50
CSRF 保护 .................................................................................................................. 51
重定向 ......................................................................................................................... 52
redirect()->to() ..................................................................................................... 53
redirect()->route() ................................................................................................ 54
redirect()->back() ................................................................................................ 54
其他重定向方法 .................................................................................................. 54
redirect()->with() ................................................................................................. 55
中止请求 ..................................................................................................................... 57
自定义Response ......................................................................................................... 57
response()->make() .............................................................................................. 57
response()->json() 和->jsonp() ............................................................................ 57
response()->download()、->streamDownload() 和->file() .................................. 58
测试 ............................................................................................................................ 58
小结 ............................................................................................................................ 59

第4 章 Blade 模板............................................................ 60
输出数据 ..................................................................................................................... 61
控制结构 ..................................................................................................................... 61
条件语句 ............................................................................................................. 62
循环语句 ............................................................................................................. 62
模板继承 ..................................................................................................................... 64
用@section/@show 和@yield 定义部分信息 ..................................................... 65
包含视图部分 ...................................................................................................... 67
使用stack ............................................................................................................ 69
使用component 和slot ........................................................................................ 70
视图Composer 和服务注入 ........................................................................................ 72
用视图Composer 将数据绑定到视图 .................................................................. 73
Blade 服务注入 ................................................................................................... 76
自定义Blade 指令 ...................................................................................................... 77
自定义Blade 指令中的参数 ................................................................................ 78
示例:对多租户应用程序使用自定义Blade 指令 .............................................. 78
更简单的if 语句的自定义指令 ........................................................................... 79
测试 ............................................................................................................................ 80
小结 ............................................................................................................................ 81

第5 章 数据库和Eloquent.................................................. 82
配置 ............................................................................................................................ 82
数据库连接.......................................................................................................... 82
其他数据库配置选项 ........................................................................................... 84
定义迁移 ............................................................................................................. 84
运行迁移 ............................................................................................................. 92
填充 ............................................................................................................................ 93
创建填充器.......................................................................................................... 94
模型工厂 ............................................................................................................. 95
查询构造器 ................................................................................................................. 99
DB 外观的基本使用 .......................................................................................... 100
原始SQL 语句 .................................................................................................. 101
查询构造器链 .................................................................................................... 102
事务 ....................................................................................................................111
Eloquent 入门 ............................................................................................................ 112
新建和定义Eloquent 模型 ................................................................................ 113
通过Eloquent 获取数据 .................................................................................... 114
Eloquent 的插入和更新 ..................................................................................... 116
Eloquent 中的删除操作 ..................................................................................... 120
作用域 ............................................................................................................... 122
自定义与访问器、修改器和属性转换器的字段交互 ........................................ 125
Eloquent 集合 .................................................................................................... 129
Eloquent 序列化 ................................................................................................ 131
Eloquent 关系 .................................................................................................... 133
通过子类记录更新父类时间戳 .......................................................................... 146
Eloquent 事件 ............................................................................................................ 148
测试 .......................................................................................................................... 149
小结 .......................................................................................................................... 151

第6 章 前端组件............................................................... 152
Laravel Mix ............................................................................................................... 152
Mix 文件夹结构 ................................................................................................ 154
运行Mix ........................................................................................................... 154
Mix 提供了什么 ................................................................................................ 155
前端预设和认证脚手架............................................................................................. 161
前端预设 ........................................................................................................... 161
认证脚手架........................................................................................................ 162
分页 .......................................................................................................................... 162
分页数据库结果 ................................................................................................ 163
手动创建分页 .................................................................................................... 164
消息包 ....................................................................................................................... 165
命名错误包........................................................................................................ 166
字符串助手、多元化和本地化 ................................................................................. 167
字符串助手和多元化 ......................................................................................... 167
本地化 ............................................................................................................... 168
测试 .......................................................................................................................... 171
测试消息包和错误包 ......................................................................................... 171
翻译和本地化 .................................................................................................... 172
小结 .......................................................................................................................... 172

第7 章 收集和处理用户数据................................................. 173
注入请求对象 ........................................................................................................... 173
$request->all() ................................................................................................... 173
$request->except() 和$request->only() .............................................................. 174
$request->has() .................................................................................................. 175
$request->input() ............................................................................................... 175
$request->method() 和$request->isMethod() .................................................... 176
数组输入 ........................................................................................................... 176
JSON 输入($request->json()) .......................................................................... 176
路由数据 ................................................................................................................... 178
通过Request 实现 ............................................................................................. 178
通过路由参数实现 ............................................................................................ 178
上传的文件 ............................................................................................................... 178
验证 .......................................................................................................................... 181
Request 对象的validate() 方法 .......................................................................... 181
手动验证 ........................................................................................................... 183
自定义规则对象 ................................................................................................ 184
显示验证错误信息 ............................................................................................ 185
表单请求 ................................................................................................................... 185
创建表单请求 .................................................................................................... 186
使用表单请求 .................................................................................................... 187
Eloquent 模型批量赋值 ............................................................................................. 187
{{ 与{!! .................................................................................................................... 189
测试 .......................................................................................................................... 189
小结 .......................................................................................................................... 190

第8 章 Artisan 和Tinker.................................................. 191
Artisan 入门 .............................................................................................................. 191
Artisan 的基本命令 ................................................................................................... 192
选项 ................................................................................................................... 193
组合命令 ........................................................................................................... 193
编写自定义的Artisan 命令 ....................................................................................... 196
示例命令 ........................................................................................................... 198
参数和选项........................................................................................................ 199
使用Input 输入 ................................................................................................. 200
提示 ................................................................................................................... 202
输出 ................................................................................................................... 203
编写基于闭包的命令 ......................................................................................... 205
在普通代码中调用Artisan 命令 ............................................................................... 205
Tinker ........................................................................................................................ 206
Laravel Dump 服务 ................................................................................................... 207
测试 .......................................................................................................................... 208
小结 .......................................................................................................................... 209

第9 章 用户认证和授权...................................................... 210
用户模型和迁移 ........................................................................................................ 210
使用auth() 全局助手和Auth 外观 ............................................................................ 214
认证控制器 ............................................................................................................... 214
RegisterController ............................................................................................. 215
LoginController ................................................................................................. 216
ResetPasswordController ................................................................................... 217
ForgotPasswordController ................................................................................. 217
VerificationController ........................................................................................ 218
Auth::routes() ............................................................................................................ 218
认证脚手架 ............................................................................................................... 219
“记住我” ................................................................................................................... 220
手动认证用户 ........................................................................................................... 221
手动登出一个用户 .................................................................................................... 221
使其他设备上的会话无效 ................................................................................. 222
认证中间件 ............................................................................................................... 222
电子邮件验证 ........................................................................................................... 223
Blade 身份验证指令 .................................................................................................. 224
保护 .......................................................................................................................... 224
修改默认保护 .................................................................................................... 225
在不改变默认值的情况下使用其他保护 ........................................................... 225
添加新的保护 .................................................................................................... 226
请求保护闭包 .................................................................................................... 226
创建自定义用户提供者 ..................................................................................... 226
为非关系数据库自定义用户提供者 .................................................................. 227
认证事件 ................................................................................................................... 228
授权(ACL)和角色 ................................................................................................ 228
定义授权规则 .................................................................................................... 229
Gate 外观(和注入Gate) .................................................................................. 230
Resource Gate .................................................................................................... 230
Authorize 中间件 ............................................................................................... 231
控制器授权........................................................................................................ 231
检查用户实例 .................................................................................................... 233
Blade 检查 ......................................................................................................... 234
拦截检查 ........................................................................................................... 234
政策 ................................................................................................................... 235
测试 .......................................................................................................................... 238
小结 .......................................................................................................................... 240

第10 章 请求、响应和中间件............................................... 241
Laravel 的请求生命周期 ........................................................................................... 241
引导应用 ........................................................................................................... 242
服务提供者........................................................................................................ 242
Request 对象 ............................................................................................................. 244
在Laravel 中获得Request 对象 ........................................................................ 245
获得Request 中的基本信息 .............................................................................. 246
Response 对象 ........................................................................................................... 250
在控制器中创建和使用Response 对象 ............................................................. 250
特殊的响应类型 ................................................................................................ 251
Laravel 和中间件 ...................................................................................................... 257
中间件介绍........................................................................................................ 257
创建自定义中间件 ............................................................................................ 258
绑定中间件........................................................................................................ 260
将参数传递到中间件 ......................................................................................... 262
信任代理 ................................................................................................................... 263
测试 .......................................................................................................................... 264
小结 .......................................................................................................................... 265

第11 章 容器.................................................................. 267
依赖注入简介 ........................................................................................................... 267
Laravel 中的依赖注入 ............................................................................................... 269
全局助手函数app() .................................................................................................. 269
容器是如何装配的 .................................................................................................... 270
将类绑定到容器 ........................................................................................................ 271
绑定到闭包........................................................................................................ 271
绑定单例、别名和实例 ..................................................................................... 272
绑定接口的具体实现 ......................................................................................... 273
绑定上下文........................................................................................................ 274
Laravel 模块中的构造器注入 .................................................................................... 275
方法注入 ................................................................................................................... 275
外观与容器 ............................................................................................................... 277
外观如何运转 .................................................................................................... 277
实时外观 ........................................................................................................... 279
服务提供者 ............................................................................................................... 279
测试 .......................................................................................................................... 280
小结 .......................................................................................................................... 281

第12 章 测试.................................................................. 282
测试基础 ................................................................................................................... 283
测试的命名 ............................................................................................................... 287
测试环境 ................................................................................................................... 288
用于测试的特征 ........................................................................................................ 288
RefreshDatabase ................................................................................................ 289
WithoutMiddleware ........................................................................................... 289
DatabaseMigrations ........................................................................................... 289
DatabaseTransactions ......................................................................................... 289
简单的单元测试 ........................................................................................................ 290
应用测试:它是如何工作的 ..................................................................................... 291
测试用例 ........................................................................................................... 291
HTTP 测试 ................................................................................................................ 292
通过$this->get() 和其他HTTP 方法测试基础页面 .......................................... 292
通过$this->getJson() 测试JSON 接口和其他JSON 格式调用 ......................... 293
针对$response 进行断言 ................................................................................... 293
认证响应 ........................................................................................................... 296
HTTP 测试中的一些其他定制化内容 ............................................................... 297
处理应用测试中的异常 ..................................................................................... 297
数据库测试 ............................................................................................................... 298
在测试中使用模型工厂 ..................................................................................... 299
测试中的数据填充 ............................................................................................ 299
测试其他Laravel 系统 .............................................................................................. 299
事件的伪造........................................................................................................ 299
总线和队列的伪造 ............................................................................................ 300
邮件的伪造........................................................................................................ 302
通知的伪造........................................................................................................ 303
存储的伪造........................................................................................................ 304
模拟 .......................................................................................................................... 305
模拟简介 ........................................................................................................... 305
Mockery 简介 .................................................................................................... 305
伪造其他外观 .................................................................................................... 308
测试Artisan 命令 ...................................................................................................... 309
针对Artisan 进行断言的语法 ........................................................................... 310
浏览器测试 ............................................................................................................... 311
选择测试工具 .................................................................................................... 311
通过Dusk 进行测试 .......................................................................................... 312
小结 .......................................................................................................................... 323

第13 章 编写API............................................................ 324
类REST 的JSON API 基础 ...................................................................................... 324
组织控制器和返回JSON .......................................................................................... 326
读取和发送头 ........................................................................................................... 329
在Laravel 中发送响应头 .................................................................................. 330
在Laravel 中读取请求头 .................................................................................. 330
Eloquent 分页 ............................................................................................................ 331
排序和过滤 ............................................................................................................... 332
对API 结果进行排序 ........................................................................................ 333
对API 结果进行过滤 ........................................................................................ 334
转换结果 ................................................................................................................... 335
编写转换器........................................................................................................ 336
通过自定义转换器处理嵌套和关系 .................................................................. 337
API 资源 ................................................................................................................... 339
创建资源类........................................................................................................ 339
资源集合 ........................................................................................................... 341
嵌套关系 ........................................................................................................... 342
在API 资源中使用分页 .................................................................................... 343
有条件地输出属性 ............................................................................................ 344
对API 资源的深度定制 .................................................................................... 344
API 认证与Laravel Passport ..................................................................................... 345
OAuth 2.0 简介 .................................................................................................. 345
安装Passport ..................................................................................................... 345
Passport 的API ................................................................................................. 347
Passport 可用的授权方式 .................................................................................. 347
使用Passport API 和Vue 组件管理客户端和token .......................................... 356
Passport 的作用范围 .......................................................................................... 358
部署Passport ..................................................................................................... 360
API token 认证机制 .................................................................................................. 360
定制404 响应 ........................................................................................................... 361
触发后备路由 .................................................................................................... 361
测试 .......................................................................................................................... 362
测试Passport ..................................................................................................... 363
小结 .......................................................................................................................... 363

第14 章 存储和读取..........................................................364
本地和云端文件管理器............................................................................................. 364
文件访问配置 .................................................................................................... 364
使用Storage 外观 .............................................................................................. 365
添加其他Flysystem 提供者 .............................................................................. 367
基础的文件上传和操作............................................................................................. 368
简单文件下载 ........................................................................................................... 369
Session ...................................................................................................................... 369
访问Session ...................................................................................................... 370
在Session 实例中可用的方法 ........................................................................... 370
临时Session 存储 .............................................................................................. 372
缓存 .......................................................................................................................... 373
访问缓存 ........................................................................................................... 373
缓存实例中的可用方法 ..................................................................................... 374
cookie ........................................................................................................................ 375
Laravel 中的cookie ........................................................................................... 375
访问cookie 的工具 ........................................................................................... 376
日志 .......................................................................................................................... 379
何时、因何使用日志 ......................................................................................... 379
记录日志 ........................................................................................................... 380
日志通道 ........................................................................................................... 380
全文搜索与Laravel Scout ......................................................................................... 383
安装Scout ......................................................................................................... 383
使模型可被索引 ................................................................................................ 384
在索引中搜索 .................................................................................................... 384
队列和Scout ..................................................................................................... 385
实现无索引操作 ................................................................................................ 385
根据条件索引模型 ............................................................................................ 385
在代码里触发索引 ............................................................................................ 385
通过命令触发索引 ............................................................................................ 386
测试 .......................................................................................................................... 386
文件存储 ........................................................................................................... 386
Session .............................................................................................................. 388
缓存 ................................................................................................................... 389
cookie ................................................................................................................ 389
日志 ................................................................................................................... 390
Scout ................................................................................................................. 391
小结 .......................................................................................................................... 391

第15 章 邮件和通知..........................................................392
邮件 .......................................................................................................................... 392
“经典”的邮件 .................................................................................................. 393
“mailable”的基础使用方法 ............................................................................. 393
邮件模板 ........................................................................................................... 396
可在build() 中使用的方法 ................................................................................ 397
附件和行内图片 ................................................................................................ 397
Markdown mailable ........................................................................................... 399
将mailable 渲染到浏览器 ................................................................................. 400
队列 ................................................................................................................... 401
本地开发 ........................................................................................................... 402
通知 .......................................................................................................................... 403
定义notifiable 中的via() 方法 .......................................................................... 406
发送通知 ........................................................................................................... 407
通知队列 ........................................................................................................... 407
开箱即用的通知类型 ......................................................................................... 408
测试 .......................................................................................................................... 411
邮件 ................................................................................................................... 411
通知 ................................................................................................................... 412
小结 .......................................................................................................................... 413

第16 章 队列、任务、事件、广播和调度器............................... 414
队列 .......................................................................................................................... 414
为什么使用队列 ................................................................................................ 415
基础队列配置 .................................................................................................... 415
队列任务 ........................................................................................................... 415
运行队列工作者 ................................................................................................ 419
处理错误 ........................................................................................................... 419
控制队列 ........................................................................................................... 422
其他基于队列的功能 ......................................................................................... 422
Laravel Horizon......................................................................................................... 423
事件 .......................................................................................................................... 423
发起事件 ........................................................................................................... 424
监听事件 ........................................................................................................... 426
通过WebSocket 广播事件和Laravel Echo ............................................................... 429
配置和安装........................................................................................................ 430
广播事件 ........................................................................................................... 430
接收消息 ........................................................................................................... 433
高级广播工具 .................................................................................................... 435
Laravel Echo(JavaScript 部分)........................................................................ 438
调度器 ....................................................................................................................... 443
可用的任务类型 ................................................................................................ 443
支持的调度时间点 ............................................................................................ 444
定义时区和调度命令 ......................................................................................... 446
阻塞和重叠........................................................................................................ 446
处理任务输出 .................................................................................................... 446
任务钩子 ........................................................................................................... 447
测试 .......................................................................................................................... 447
小结 .......................................................................................................................... 449

第17 章 助手函数和集合.....................................................450
助手函数 ................................................................................................................... 450
数组 ................................................................................................................... 450
字符串 ............................................................................................................... 452
应用路径 ........................................................................................................... 455
URL ................................................................................................................... 456
杂项 ................................................................................................................... 458
集合 .......................................................................................................................... 461
基础 ................................................................................................................... 461
一些方法 ........................................................................................................... 463
小结 .......................................................................................................................... 468

第18 章 Laravel 生态.......................................................469
本书中提到过的工具 ................................................................................................ 469
Valet .................................................................................................................. 469
Homestead ......................................................................................................... 469
Laravel Installer ................................................................................................. 470
Mix .................................................................................................................... 470
Dusk .................................................................................................................. 470
Passport ............................................................................................................. 470
Horizon .............................................................................................................. 470
Echo .................................................................................................................. 471
本书中未提及的工具 ................................................................................................ 471
Forge ................................................................................................................. 471
Envoyer ............................................................................................................. 471
Cashier .............................................................................................................. 472
Socialite ............................................................................................................. 472
Nova .................................................................................................................. 472
Spark ................................................................................................................. 473
Lumen ............................................................................................................... 473
Envoy ................................................................................................................ 473
Telescope ........................................................................................................... 474
其他资源 ................................................................................................................... 474
词汇表............................................................................475

读者评论

  • 配套资源怎么才可以下载?? 配套资源看不了,下载不了。没有配套资源怎么看。。

    73bc发表于 2022/5/6 20:55:43
  • 你好 我买的 Lar**el入门与实战(第2版):构建主流PHP应用开发框架 这本书配套资源都打不开。这本书带的参考资料.pdf里面的连接都打不开

    73bc发表于 2022/5/6 20:55:29
  • 你好 我买的 Lar**el入门与实战(第2版):构建主流PHP应用开发框架 这本书配套资源都打不开。这本书带的参考资料.pdf里面的连接都打不开

    73bc发表于 2022/5/6 20:55:27
  • 你好 我买的 Lar**el入门与实战(第2版):构建主流PHP应用开发框架 这本书配套资源都打不开。这本书带的参考资料.pdf里面的连接都打不开

    73bc发表于 2022/5/6 20:55:23
  • 你好 我买的 Lar**el入门与实战(第2版):构建主流PHP应用开发框架 这本书配套资源都打不开。这本书带的参考资料.pdf里面的连接都打不开

    73bc发表于 2022/5/6 20:55:21

下载资源

相关博文

  • 宇宙最强语言PHP的“全栈”框架——Laravel来了!

    宇宙最强语言PHP的“全栈”框架——Laravel来了!

    博文小编 2021-10-08

    在动态网页发展前期,编写一个Web应用程序的方法和今天有很大不同。 开发人员不仅负责编写应用程序中独特的业务逻辑代码,还负责编写跨站点的各个公共组件的代码,包括用户认证、输入验证、数据库访问和模板等内容。 当今已经有数十个应用...

    博文小编 2021-10-08
    694 0 0 0