Laravel入门与实战(第2版)
Matt Stauffer
韦玮, 有明 译
出版时间:2021年09月
页数:512
Laravel与其他PHP Web框架相比,有何不同?对于初学者来说,易学性和简捷性是Laravel的主要优势。Laravel应用开发框架及与它相关的工具生态系统可以让你通过简洁、可读性强的代码快速地创建一个新站点或新应用。本书已经更新到Laravel 5.8版本,这是一本实用的Laravel技术指南。
Laravel社区的核心教师、开发人员Matt Stauffer提供了一个高水平的Laravel知识体系,以及许多具体的例子,以帮助有经验的PHP Web开发人员快速掌握这个框架。第2版中更新了很多内容,其中包括Laravel Dusk和Horizon等知识,同时还提供了很多关于社区资源和其他非核心Laravel库的知识。
本书主要包含以下内容:
● Blade,Laravel强大的自定义模板工具
● 用于收集、验证、规范化和过滤用户所提供数据的工具
● 用于与应用程序数据库交互的Eloquent ORM工具
● Illuminate请求对象,以及它在应用程序生命周期中的作用
● 用于测试PHP代码的PHPUnit、Mockery及Dusk
● 用于编写JSON及RESTful风格API的相关工具
● 用于实现文件系统访问、会话、cookie、Cache及检索的接口
● 用于实现队列、任务、事件及WebSocket事件发布的工具
  1. 第1章 为什么使用Laravel
  2. 为什么要使用框架
  3. “自己动手做”
  4. 一致性和灵活性
  5. Web和PHP框架简史
  6. Ruby on Rails
  7. PHP框架的涌入
  8. CodeIgniter的优点与缺点
  9. Laravel 1、Laravel 2和Laravel 3
  10. Laravel 4
  11. Laravel 5
  12. Laravel有什么特别之处
  13. Laravel的哲学
  14. Laravel如何让开发#者感到快乐
  15. Laravel社区
  16. Laravel是如何工作的
  17. 使用Laravel的原因
  18. 第2章 搭建Laravel的开发环境
  19. 系统要求
  20. Composer
  21. 本地开发环境
  22. Laravel Valet
  23. Laravel Homestead
  24. 创建一个新的Laravel项目
  25. 使用Laravel安装工具来安装Laravel
  26. 通过Composer的create-project特征来安装Laravel
  27. Lambo:超强的“Laravel New”指令
  28. Laravel的目录结构
  29. 文件夹
  30. 其他文件
  31. 配置
  32. .env文件
  33. 启动和运行
  34. 测试
  35. 小结
  36. 第3章 路由和控制器
  37. 对MVC、HTTP动词和REST的快速介绍
  38. 什么是MVC
  39. HTTP动词
  40. 什么是REST
  41. 路由定义
  42. 路由动词
  43. 路由处理
  44. 路由参数
  45. 路由名称
  46. 路由组
  47. 中间件
  48. 路径前缀
  49. 后备路由
  50. 子域名路由
  51. 命名空间前缀
  52. 名称前缀
  53. 签名的路由
  54. 对路由进行签名
  55. 修改路由以允许签名链接
  56. 视图
  57. 直接通过Route::view() 返回简单路由
  58. 使用视图Composer 在每个视图中#共享变量
  59. 控制器
  60. 获取用户输入
  61. 将依赖注入控制器
  62. 资源控制器
  63. API资源控制器
  64. 单一动作控制器
  65. 路由模型绑定
  66. 隐式路由模型绑定
  67. 自定义路由模型绑定
  68. 路由缓存
  69. 表单方法欺骗
  70. Laravel中的HTTP动词
  71. 在HTML表单中进行HTTP方法欺骗
  72. CSRF保护
  73. 重定向
  74. redirect()->to()
  75. redirect()->route()
  76. redirect()->back()
  77. 其他重定向方法
  78. redirect()->with()
  79. 中止请求
  80. 自定义Response
  81. response()->make()
  82. response()->json()和->jsonp()
  83. response()->download()、->streamDownload()和->file()
  84. 测试
  85. 小结
  86. 第4章 Blade模板
  87. 输出数据
  88. 控制结构
  89. 条件语句
  90. 循环语句
  91. 模板继承
  92. 用@section/@show和@yield定义部分信息
  93. 包含视图部分
  94. 使用stack
  95. 使用component和slot
  96. 视图Composer和服务注入
  97. 用视图Composer将数据绑定到视图
  98. Blade服务注入
  99. 自定义Blade指令
  100. 自定义Blade指令中的参数
  101. 示例:对多租户应用程序使用自定义Blade指令
  102. 更简单的if语句的自定义指令
  103. 测试
  104. 小结
  105. 第5章 数据库和Eloquent
  106. 配置
  107. 数据库连接
  108. 其他数据库配置选项
  109. 定义迁移
  110. 运行迁移
  111. 填充
  112. 创建填充器
  113. 模型工厂
  114. 查询构造器
  115. DB外观的基本使用
  116. 原始SQL语句
  117. 查询构造器链
  118. 事务
  119. Eloquent入门
  120. 新建和定义Eloquent模型
  121. 通过Eloquent获取数据
  122. Eloquent的插入和更新
  123. Eloquent中的删除操作
  124. 作用域
  125. 自定义与访问器、修改器和属性转换器的字段交互
  126. Eloquent集合
  127. Eloquent序列化
  128. Eloquent关系
  129. 通过子类记录更新父类时间戳
  130. Eloquent事件
  131. 测试
  132. 小结
  133. 第6章 前端组件
  134. Laravel Mix
  135. Mix文件夹结构
  136. 运行Mix
  137. Mix提供了什么
  138. 前端预设和认证脚手架
  139. 前端预设
  140. 认证脚手架
  141. 分页
  142. 分页数据库结果
  143. 手动创建分页
  144. 消息包
  145. 命名错误包
  146. 字符串助手、多元化和本地化
  147. 字符串助手和多元化
  148. 本地化
  149. 测试
  150. 测试消息包和错误包
  151. 翻译和本地化
  152. 小结
  153. 第7章 收集和处理用户数据
  154. 注入请求对象
  155. $request->all()
  156. $request->except()和$request->only()
  157. $request->has()
  158. $request->input()
  159. $request->method()和$request->isMethod()
  160. 数组输入
  161. JSON输入($request->json())
  162. 路由数据
  163. 通过Request实现
  164. 通过路由参数实现
  165. 上传的文件
  166. 验证
  167. Request对象的validate()方法
  168. 手动验证
  169. 自定义规则对象
  170. 显示验证错误信息
  171. 表单请求
  172. 创建表单请求
  173. 使用表单请求
  174. Eloquent模型批量赋值
  175. {{与{!!
  176. 测试
  177. 小结
  178. 第8章 Artisan和Tinker
  179. Artisan入门
  180. Artisan的基本命令
  181. 选项
  182. 组合命令
  183. 编写自定义的Artisan命令
  184. 示例命令
  185. 参数和选项
  186. 使用Input输入
  187. 提示
  188. 输出
  189. 编写基于闭包的命令
  190. 在普通代码中调用Artisan命令
  191. Tinker
  192. Laravel Dump服务
  193. 测试
  194. 小结
  195. 第9章 用户认证和授权
  196. 用户模型和迁移
  197. 使用auth()全局助手和Auth外观
  198. 认证控制器
  199. RegisterController
  200. LoginController
  201. ResetPasswordController
  202. ForgotPasswordController
  203. VerificationController
  204. Auth::routes()
  205. 认证脚手架
  206. “记住我”
  207. 手动认证用户
  208. 手动登出一个用户
  209. 使其他设备上的会话无效
  210. 认证中间件
  211. 电子邮件验证
  212. Blade身份验证指令
  213. 保护
  214. 修改默认保护
  215. 在不改变默认值的情况下使用其他保护
  216. 添加新的保护
  217. 请求保护闭包
  218. 创建自定义用户提供者
  219. 为非关系数据库自定义用户提供者
  220. 认证事件
  221. 授权(ACL)和角色
  222. 定义授权规则
  223. Gate外观(和注入Gate)
  224. Resource Gate
  225. Authorize中间件
  226. 控制器授权
  227. 检查用户实例
  228. Blade检查
  229. 拦截检查
  230. 政策
  231. 测试
  232. 小结
  233. 第10章 请求、响应和中间件
  234. Laravel的请求生命周期
  235. 引导应用
  236. 服务提供者
  237. Request对象
  238. 在Laravel中获得Request对象
  239. 获得Request中的基本信息
  240. Response对象
  241. 在控制器中创建和使用Response对象
  242. 特殊的响应类型
  243. Laravel和中间件
  244. 中间件介绍
  245. 创建自定义中间件
  246. 绑定中间件
  247. 将参数传递到中间件
  248. 信任代理
  249. 测试
  250. 小结
  251. 第11章 容器
  252. 依赖注入简介
  253. Laravel中的依赖注入
  254. 全局助手函数app()
  255. 容器是如何装配的
  256. 将类绑定到容器
  257. 绑定到闭包
  258. 绑定单例、别名和实例
  259. 绑定接口的具体实现
  260. 绑定上下文
  261. Laravel模块中的构造器注入
  262. 方法注入
  263. 外观与容器
  264. 外观如何运转
  265. 实时外观
  266. 服务提供者
  267. 测试
  268. 小结
  269. 第12章 测试
  270. 测试基础
  271. 测试的命名
  272. 测试环境
  273. 用于测试的特征
  274. RefreshDatabase
  275. WithoutMiddleware
  276. DatabaseMigrations
  277. DatabaseTransactions
  278. 简单的单元测试
  279. 应用测试:它是如何工作的
  280. 测试用例
  281. HTTP测试
  282. 通过$this->get()和其他HTTP方法测试基础页面
  283. 通过$this->getJson()测试JSON接口和其他JSON格式调用
  284. 针对$response进行断言
  285. 认证响应
  286. HTTP测试中的一些其他定制化内容
  287. 处理应用测试中的异常
  288. 数据库测试
  289. 在测试中使用模型工厂
  290. 测试中的数据填充
  291. 测试其他Laravel系统
  292. 事件的伪造
  293. 总线和队列的伪造
  294. 邮件的伪造
  295. 通知的伪造
  296. 存储的伪造
  297. 模拟
  298. 模拟简介
  299. Mockery简介
  300. 伪造其他外观
  301. 测试Artisan命令
  302. 针对Artisan进行断言的语法
  303. 浏览器测试
  304. 选择测试工具
  305. 通过Dusk进行测试
  306. 小结
  307. 第13章 编写API
  308. 类REST的JSON API基础
  309. 组织控制器和返回JSON
  310. 读取和发送头
  311. 在Laravel中发送响应头
  312. 在Laravel中读取请求头
  313. Eloquent分页
  314. 排序和过滤
  315. 对API结果进行排序
  316. 对API结果进行过滤
  317. 转换结果
  318. 编写转换器
  319. 通过自定义转换器处理嵌套和关系
  320. API资源
  321. 创建资源类
  322. 资源集合
  323. 嵌套关系
  324. 在API资源中使用分页
  325. 有条件地输出属性
  326. 对API资源的深度定制
  327. API认证与Laravel Passport
  328. OAuth 2.0简介
  329. 安装Passport
  330. Passport的API
  331. Passport可用的授权方式
  332. 使用Passport API和Vue组件管理客户端和token
  333. Passport 的作用范围
  334. 部署Passport
  335. API token认证机制
  336. 定制404响应
  337. 触发后备路由
  338. 测试
  339. 测试Passport
  340. 小结
  341. 第14章 存储和读取
  342. 本地和云端文件管理器
  343. 文件访问配置
  344. 使用Storage外观
  345. 添加其他Flysystem提供者
  346. 基础的文件上传和操作
  347. 简单文件下载
  348. Session
  349. 访问Session
  350. 在Session实例中可用的方法
  351. 临时Session存储
  352. 缓存
  353. 访问缓存
  354. 缓存实例中的可用方法
  355. cookie
  356. Laravel中的cookie
  357. 访问cookie的工具
  358. 日志
  359. 何时、因何使用日志
  360. 记录日志
  361. 日志通道
  362. 全文搜索与Laravel Scout
  363. 安装Scout
  364. 使模型可被索引
  365. 在索引中搜索
  366. 队列和Scout
  367. 实现无索引操作
  368. 根据条件索引模型
  369. 在代码里触发索引
  370. 通过命令触发索引
  371. 测试
  372. 文件存储
  373. Session
  374. 缓存
  375. cookie
  376. 日志
  377. Scout
  378. 小结
  379. 第15章 邮件和通知
  380. 邮件
  381. “经典”的邮件
  382. “mailable”的基础使用方法
  383. 邮件模板
  384. 可在build()中使用的方法
  385. 附件和行内图片
  386. Markdown mailable
  387. 将mailable渲染到浏览器
  388. 队列
  389. 本地开发
  390. 通知
  391. 定义notifiable中的via()方法
  392. 发送通知
  393. 通知队列
  394. 开箱即用的通知类型
  395. 测试
  396. 邮件
  397. 通知
  398. 小结
  399. 第16章 队列、任务、事件、广播和调度器
  400. 队列
  401. 为什么使用队列
  402. 基础队列配置
  403. 队列任务
  404. 运行队列工作者
  405. 处理错误
  406. 控制队列
  407. 其他基于队列的功能
  408. Laravel Horizon
  409. 事件
  410. 发起事件
  411. 监听事件
  412. 通过WebSocket广播事件和Laravel Echo
  413. 配置和安装
  414. 广播事件
  415. 接收消息
  416. 高#级广播工具
  417. Laravel Echo(JavaScript部分)
  418. 调度器
  419. 可用的任务类型
  420. 支持的调度时间点
  421. 定义时区和调度命令
  422. 阻塞和重叠
  423. 处理任务输出
  424. 任务钩子
  425. 测试
  426. 小结
  427. 第17章 助手函数和集合
  428. 助手函数
  429. 数组
  430. 字符串
  431. 应用路径
  432. URL
  433. 杂项
  434. 集合
  435. 基础
  436. 一些方法
  437. 小结
  438. 第18章 Laravel生态
  439. 本书中提到过的工具
  440. Valet
  441. Homestead
  442. Laravel Installer
  443. Mix
  444. Dusk
  445. Passport
  446. Horizon
  447. Echo
  448. 本书中未提及的工具
  449. Forge
  450. Envoyer
  451. Cashier
  452. Socialite
  453. Nova
  454. Spark
  455. Lumen
  456. Envoy
  457. Telescope
  458. 其他资源
  459. 词汇表
书名:Laravel入门与实战(第2版)
作者:Matt Stauffer
译者:韦玮, 有明 译
国内出版社:电子工业出版社
出版时间:2021年09月
页数:512
书号:978-7-121-41757-3
原版书书名:Laravel: Up & Running, 2nd Edition
原版书出版商:O'Reilly Media
Matt Stauffer
 
Matt Stauffer既是一名开发者,也是一名教师。他是Tighten的合伙人兼技术总监,主办过Laravel Podcast和Five-Minute极客秀。
 
 
购买选项
定价:138.00元
书号:978-7-121-41757-3
出版社:电子工业出版社