Laravel入门与实战:构建主流PHP应用开发框架

Laravel入门与实战:构建主流PHP应用开发框架 pdf epub mobi txt 电子书 下载 2025

[美] Matt Stauffer(马特·斯托弗) 著,韦玮 译
图书标签:
  • Laravel
  • PHP
  • Web开发
  • 框架
  • 入门
  • 实战
  • PHP框架
  • MVC
  • 后端开发
  • Web应用
想要找书就要到 静思书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 电子工业出版社
ISBN:9787121336119
版次:1
商品编码:12334802
品牌:Broadview
包装:平装
开本:16开
出版时间:2018-04-01
用纸:胶版纸
页数:440
字数:570000
正文语种:中文

具体描述

产品特色

内容简介

本书从基础开始详细地讲解了Laravel开发框架。本书对Laravel框架进行了系统的介绍,包括Laravel的背景、Laravel开发环境的搭建、路由与控制器、Blade模板、前端组件、收集和处理用户数据、Artisan和Tinker、数据库和Eloquent、容器、Laravel测试等知识。通过阅读本书,读者可以比较全面地学习并掌握Laravel开发的相关理论知识。另外,书中涵盖大量实例,更有利于读者在学习过程中不断实践。

作者简介

Matt Stauffer,既是一名开发者,也是一位教师。他是Tighten Co. 和合伙人兼技术总监,主办过The Five-Minute Geek Show和Laravel Podcast。博客地址是http://mattstauffer.co/。
韦玮,重庆韬翔网络科技有限公司董事长兼CEO,《精通Python网络爬虫》作者,CSDN特邀IT专家,51CTO学院特约专家讲师,《知道日报》特约作者,国家工信部高级网络营销师,蜻蜓FM**签约主播,国家专利发明人,多年IT从业经验,曾出品发明过多门IT课程并获得大量学员的支持与喜爱。

目录

目录


前言 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


第4章 Blade模板 55

第5章 前端组件 73

第6章 收集和处理用户数据 91

第7章 Artisan和Tinker 109

第8章 数据库和Eloquent 127

第9章 用户认证和授权 193

第10章 请求和响应 221

第11章 容器 243

第12章 测试 257

第13章 编写API 281

第14章 存储和检索 313

第15章 邮件和通知 335

第16章 队列,任务,事件,广播及调度程序 353

第17章 助手和集合 387

词汇表 405

前言/序言

译者序

在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 中的新功能将被标记出来。



《现代Web应用架构:JavaScript全栈开发实践》 一、 构建稳固前沿的Web应用基石 在数字化浪潮席卷全球的今天,Web应用已成为企业运营、信息传递和用户交互的核心载体。然而,随着技术栈的飞速迭代与用户期望的不断攀升,构建一个既能满足当下需求,又能面向未来扩展的高性能、高可用Web应用,对开发者提出了前所未有的挑战。本书《现代Web应用架构:JavaScript全栈开发实践》正是为了应对这一挑战而生。它并非聚焦于某个单一的后端框架,而是将目光投向了更为宏观的Web应用整体架构设计,并以当前最受欢迎且能力强大的JavaScript语言作为连接前后端的桥梁,引领读者深入探索现代Web应用开发的方方面面。 本书的核心理念在于“全栈一体化”与“现代化实践”。我们认为,在快速变化的Web开发领域,理解并掌握一套能够贯穿客户端与服务器端、数据存储与部署运维的完整技术体系,是成为一名优秀全栈开发者的必经之路。JavaScript,作为一种曾经只活跃在浏览器端的脚本语言,如今已凭借Node.js等运行时环境的崛起,成功占据了服务器端开发的主导地位,使得JavaScript全栈开发成为可能,并以其极高的开发效率和统一的技术栈优势,受到了广大开发者的青睐。 本书的写作宗旨是,通过深入浅出的讲解和大量的实践案例,帮助读者建立起一套清晰、系统、实用的现代Web应用开发知识体系。我们不满足于仅仅介绍某个工具或某个框架的API,而是更侧重于讲解其背后的设计思想、架构模式以及最佳实践。目标是让读者不仅能够“学会”开发,更能“理解”为何这样开发,并具备独立解决复杂问题的能力。 二、 深度剖析:从前端到后端,贯穿始终的JavaScript力量 1. 前端篇:精益求精的用户体验与交互设计 在本书的前端部分,我们将目光聚焦于构建现代化、高性能、用户友好的Web界面。我们将深入探讨当前主流的JavaScript前端框架,例如React、Vue.js或Angular(根据实际内容选择,本书不预设特定框架,而是强调普适性架构原则,并通过示例来体现)。这部分内容不仅仅是API的罗列,更重要的是理解这些框架为何能成为主流,它们的设计哲学是什么,以及如何利用它们来构建可维护、可扩展、性能卓越的前端应用。 组件化思想与声明式UI: 深入解析组件化开发的核心优势,如何拆分UI,实现代码复用,以及响应式编程模型如何简化状态管理和UI更新。 性能优化策略: 从虚拟DOM到代码分割,从懒加载到服务端渲染(SSR),我们系统性地梳理前端性能优化的各种技术手段,并结合实际场景进行演练。 现代前端工程化: 讲解Webpack、Vite等现代构建工具的使用,包括模块化、热重载、代码压缩、TypeScript集成等,构建高效的开发和部署流程。 状态管理与路由: 探讨Pinia、Vuex、Redux等状态管理库的设计理念与使用方法,以及React Router、Vue Router等路由库如何组织复杂的单页面应用(SPA)导航。 API交互与数据获取: 深入讲解Axios、Fetch API等数据请求工具,以及RESTful API、GraphQL等现代API设计风格,并探讨数据请求的最佳实践,如错误处理、请求拦截、缓存策略等。 可访问性(Accessibility)与国际化(i18n): 强调构建包容性Web应用的必要性,讲解如何遵循WCAG标准,以及如何实现多语言支持。 2. 后端篇:驾驭Node.js,构建强大的服务能力 本书的后端部分将以Node.js为核心,构建健壮、可扩展的服务器端应用。我们将详细介绍Node.js的事件驱动、非阻塞I/O模型,以及如何利用其生态系统中的优秀库和框架来开发API服务、处理实时通信等。 Node.js核心模块与异步编程: 深入理解Node.js的事件循环、模块系统,以及Promise、async/await等现代异步编程模式,为构建高性能服务器打下基础。 Express.js / Koa.js等框架实践: 讲解如何利用Express.js或Koa.js等流行的Node.js Web框架来快速搭建RESTful API服务,包括路由设计、中间件机制、请求/响应处理等。 数据库集成与ORM/ODM: 探讨如何连接和操作关系型数据库(如PostgreSQL, MySQL)和NoSQL数据库(如MongoDB)。我们将重点讲解Sequelize、TypeORM等ORM(对象关系映射)工具,以及Mongoose等ODM(对象文档映射)工具在Node.js中的应用,实现高效的数据持久化。 身份认证与授权: 讲解JWT(JSON Web Tokens)、OAuth 2.0等现代认证和授权机制,确保API的安全性和用户数据的隐私。 实时通信(WebSockets): 介绍Socket.IO等库,如何实现服务器与客户端之间的实时双向通信,为构建聊天应用、实时通知等功能提供支持。 API设计原则与安全性: 强调RESTful API的设计规范,以及各种常见的Web安全漏洞(如SQL注入、XSS、CSRF)及其防范措施。 3. 数据库篇:数据存储的艺术与实践 数据是Web应用的灵魂,本书将深入探讨数据存储的方方面面,帮助读者选择和使用最适合的数据库解决方案。 关系型数据库(SQL): 深入理解SQL语言的核心概念,包括表设计、索引、事务、范式等。我们将通过实例讲解如何使用PostgreSQL或MySQL等流行关系型数据库,以及如何与Node.js后端进行交互。 NoSQL数据库(NoSQL): 介绍不同类型的NoSQL数据库(如文档型、键值型、列族型、图数据库),并重点讲解MongoDB作为文档型数据库的优势与应用场景,以及如何使用Mongoose等ODM与Node.js集成。 数据库选型与性能调优: 探讨在不同业务场景下如何选择最合适的数据库类型,并介绍基本的数据库性能优化技巧,如索引优化、查询优化等。 4. 架构与部署篇:从开发到生产环境的飞跃 一个优秀的Web应用不仅需要精湛的代码,更需要稳固的架构设计和可靠的部署运维。本书的最后部分将带领读者进入更广阔的领域。 微服务架构与单体架构对比: 深入探讨不同架构模式的优缺点,以及何时选择哪种架构。 容器化技术(Docker): 讲解Docker的基础知识,如何构建镜像、运行容器,实现应用的快速部署和环境一致性。 持续集成/持续部署(CI/CD): 介绍Jenkins、GitLab CI/CD等CI/CD工具的基本概念和使用,自动化构建、测试和部署流程,提升开发效率和交付质量。 云原生部署(Kubernetes): (可选,视内容深度)简要介绍Kubernetes在容器编排中的作用,以及如何实现高可用、可扩展的Web应用部署。 日志与监控: 讲解如何集成ELK Stack(Elasticsearch, Logstash, Kibana)或Prometheus等工具,实现应用日志的收集、分析和系统性能监控。 DevOps理念与实践: 强调开发与运维的融合,以及如何通过自动化工具和流程提升整个生命周期的效率。 三、 贯穿全书的实践导向与案例驱动 本书并非枯燥的理论堆砌,而是以大量的实战项目和代码示例贯穿始终。我们将从零开始,逐步构建一个功能完善的Web应用,涵盖用户注册登录、内容发布管理、数据展示、实时交互等多个方面。每个章节都会提供清晰的代码演示,并详细解释代码的逻辑和设计思路。通过动手实践,读者能够更直观地理解书中知识,并将所学技能融会贯通。 四、 目标读者 本书适合以下人群: 初学者: 希望系统学习现代Web全栈开发技术的初学者。 有一定基础的开发者: 希望拓展技术栈,掌握JavaScript全栈开发能力的开发者。 寻求架构升级的团队: 希望了解和实践现代化Web应用架构的团队。 对JavaScript生态感兴趣的开发者: 希望深入了解Node.js及相关前端技术的开发者。 五、 学习本书,你将获得 扎实的JavaScript全栈开发功底: 能够独立完成前后端开发的全过程。 现代Web应用架构的深刻理解: 掌握构建高性能、可扩展、可维护应用的架构原则。 解决实际开发问题的能力: 能够应对各种复杂的前后端技术挑战。 更高效的开发流程: 熟悉工程化、CI/CD等提升效率的工具和实践。 面向未来的技术视野: 把握Web开发技术的最新趋势。 《现代Web应用架构:JavaScript全栈开发实践》 期待与您一同踏上这场激动人心的Web开发之旅,共同构建下一代互联网的辉煌。

用户评价

评分

这本书的内容编排逻辑性很强,从零基础的用户也能轻松上手。它不是那种“知其然,不知其所以然”的书,而是能够让你理解“为什么”要这么做。比如,在讲解“依赖注入”时,作者花了相当篇幅去解释为什么需要依赖注入,它解决了什么问题,以及在Laravel中是如何实现的。他还会通过对比的方式,让我们看到没有依赖注入时代码的脆弱性,以及引入依赖注入后代码的可测试性和可维护性是如何得到提升的。这一点对于我理解“SOLID”原则等设计理念很有帮助。而且,书中对Laravel的一些核心组件,比如“服务容器”、“服务提供者”的讲解,也做到了深入浅出,不会让人觉得高不可攀。作者的语言风格也十分平易近人,没有生硬的学术腔调,读起来感觉就像是在和一位经验丰富的开发者朋友交流。

评分

对于一个正在学习Laravel框架的新手来说,这本书简直是量身定做的。作者在讲解基础概念时,没有直接堆砌枯燥的术语,而是从实际开发场景出发,娓娓道来。例如,在介绍“路由”这个概念时,作者并没有急于展示各种复杂的路由定义,而是先描绘了一个小型博客应用的需求,然后一步步引导读者思考如何将用户访问的URL映射到具体的处理逻辑,这样的引入方式,让“路由”不再是抽象的理论,而是解决实际问题的工具。书中对于MVC架构的讲解也十分透彻,每个部分的职责都阐述得清清楚楚,并结合实际例子说明它们是如何协同工作的。此外,作者在讲解过程中,还会穿插一些“新手避坑指南”,提前指出一些容易犯的错误,并给出正确的解决方案,这对于避免我走弯路,节省大量调试时间起到了至关重要的作用。这种润物细无声的指导,让我觉得这位作者真的非常懂我们这些初学者在学习过程中会遇到哪些困难。

评分

这本书的排版设计实在令人惊喜!封面选用了非常有质感的纸张,触感温润,色彩搭配也十分和谐,一看就是用心之作。翻开书页,字迹清晰,间距舒适,即使长时间阅读也不会感到疲劳。更让我赞赏的是,书中大量的插图和图表,不仅仅是简单的示意,而是经过精心设计,能够直观地展现复杂的概念和代码结构,大大降低了理解难度。比如说,在讲解Eloquent ORM的关联关系时,作者不仅用文字描述,还配上了精美的ER图,让人一目了然。代码示例的字体和高亮风格也做得恰到好处,不仅易于区分关键字、变量和注释,整体观感也十分专业,让人有种想立刻跟着敲代码的冲动。每一章的结尾都附带了小结,将本章的核心内容提炼出来,方便回顾和巩固。整体而言,这本书在细节之处体现出的对读者的关怀,是市面上很多技术书籍所缺乏的,这种精良的制作工艺,让我觉得物超所值。

评分

书中对于一些高级特性的讲解,也做到了既全面又实用。例如,关于“队列”和“任务调度”的部分,作者不仅解释了它们的作用和适用场景,还提供了多种配置和使用方式的示例,并讲解了如何在生产环境中进行部署和监控。对于“缓存”的讲解,也覆盖了文件缓存、Redis缓存、Memcached缓存等多种驱动,并详细说明了如何根据不同场景选择合适的缓存策略,以及如何处理缓存击穿、缓存穿透等问题。更重要的是,作者在讲解这些高级特性时,并没有忽略它们与基础知识的联系,而是清晰地展示了它们是如何建立在Laravel的底层架构之上的,这让我对整个框架的理解更加系统和深入。即使是之前接触过Laravel,也能从中获得不少新的启发和技巧。

评分

这本书不仅仅停留在基础知识的罗列,而是真正地引导读者去“实战”。每个章节的学习都伴随着一个具体的项目或功能模块的实现。例如,在学习了用户认证后,紧接着就带领读者实现一个完整的注册、登录、退出系统,并加入了“记住我”等实用功能。在讲解API开发时,作者会引导读者构建一个简单的RESTful API,并演示如何进行请求、响应以及错误处理。让我印象深刻的是,书中对“单元测试”和“集成测试”的讲解,不仅仅是告诉我们测试的重要性,而是详细演示了如何在Laravel中编写有效的测试用例,并将其融入到开发流程中。这种“边学边练”的模式,让我能够立刻将所学知识应用到实际项目中,巩固记忆,并培养良好的开发习惯。

评分

性价比超级高,加油好好奋斗吧。

评分

非常实用,虽然用laravel一段时间了,但是这本书仍然能让我学到很多平时没用到或者没发现的东西

评分

书是好书,就是边角磕破了

评分

还行吧,没有选择

评分

还在看

评分

很全面

评分

我为什么喜欢在京东买东西,因为今天买明天就可以送到。我为什么每个商品的评价都一样,因为在京东买的东西太多太多了,导致积累了很多未评价的订单,所以我统一用段话作为评价内容。京东购物这么久,有买到很好的产品,也有买到比较坑的产品,如果我用这段话来评价,说明这款产品没问题,至少85分以上,而比较垃圾的产品,我绝对不会偷懒到复制粘贴评价,我绝对会用心的差评,这样其他消费者在购买的时候会作为参考,会影响该商品销量,而商家也会因此改进商品质量。

评分

性价比超级高,加油好好奋斗吧。

评分

入门必备,和官方文档更配哦!

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有