Laravel 5.7 中文文档

目录索引

由 Laravel 学院提供的 Laravel 5.7 中文文档,供学习参考用,如有纰漏,请指正: 序言 新版特性 升级指南 贡献指南 API文档 快速入门 安装配置 目录结构 Home...

序言

快速入门

核心架构

[ Laravel 5.7 文档 ] 底层原理 —— 一次 Laravel 请求的生命周期

简介 当我们使用现实世界中的任何工具时,如果理解了该工具的工作原理,那么用起来就会得心应手,应用开发也是如此。当你理解了开发工具如何工作,用起来就会更加游刃有余。 这篇文档的目标就是从更高层面向...

[ Laravel 5.7 文档 ] 底层原理 —— 服务容器

简介 Laravel 服务容器是一个用于管理类依赖和执行依赖注入的强大工具。依赖注入听上去很花哨,其实质是通过构造函数或者某些情况下通过「setter」方法将类依赖注入到类中。 让我们看一个简单...

[ Laravel 5.7 文档 ] 底层原理 —— 服务提供者

简介 服务提供者是 Laravel 应用启动的中心,你自己的应用以及所有 Laravel 的核心服务都是通过服务提供者启动。 但是,我们所谓的「启动」指的是什么?通常,这意味着注册服务,包括注册...

[ Laravel 5.7 文档 ] 底层原理 —— 门面(Facades)

简介 注:对门面这个概念不理解?可参考PHP 设计模式系列 —— 门面模式(Facade)。 门面为应用服务容器中的绑定类提供了一个「静态」接口。Laravel 内置了很多门面,你可能在不知...

[ Laravel 5.7 文档 ] 底层原理 —— 契约(Contracts)

简介 Laravel 中的契约是指框架提供的一系列定义核心服务的接口。 例如,Illuminate\Contracts\Queue\Queue 契约定义了队列任务需要实现的方法,Illumina...

基础组件

[ Laravel 5.7 文档 ] 基础组件 —— 路由

路由入门 最基本的 Laravel 路由只接收一个 URI 和一个闭包,并以此为基础提供一个非常简单优雅的路由定义方法: Route::get('hello', function () { ...

[ Laravel 5.7 文档 ] 基础组件 —— 中间件

简介 中间件为过滤进入应用的 HTTP 请求提供了一套便利的机制。例如,Laravel 内置了一个中间件来验证用户是否经过认证(如登录),如果用户没有经过认证,中间件会将用户重定向到登录页面,而...

[ Laravel 5.7 文档 ] 基础组件 —— CSRF 保护

简介 跨站请求伪造(CSRF)是一种通过伪装授权用户的请求来攻击授信网站的恶意漏洞。 Laravel 通过自带的 CSRF 保护中间件让避免应用遭到跨站请求伪造攻击变得简单:Laravel 会...

[ Laravel 5.7 文档 ] 基础组件 —— 控制器

简介 我们之前的演示示例都是将所有的请求处理逻辑放在路由文件的闭包函数中,这显然是不合理的,我们需要使用控制器类组织管理相对复杂的业务逻辑处理。控制器用于将相关的 HTTP 请求封装到一个类中进...

[ Laravel 5.7 文档 ] 基础组件 —— HTTP 请求

访问请求实例 在控制器中获取当前 HTTP 请求实例,需要在构造函数或方法中对 Illuminate\Http\Request 类进行依赖注入,这样当前请求实例会被服务容器自动注入: <?...

[ Laravel 5.7 文档 ] 基础组件 —— HTTP 响应

创建响应 字符串 & 数组 所有路由和控制器处理完业务逻辑之后都会返回一个发送到用户浏览器的响应,Laravel 提供了多种不同的方式来返回响应,最基本的响应就是从路由或控制器返回一个简...

[ Laravel 5.7 文档 ] 基础组件 —— 视图

创建视图 注:想要了解如何编写 Blade 模板?请先查看 Blade 文档。 视图包含应用的 HTML 代码,并将应用的控制器逻辑和表现逻辑进行分离。视图文件存放在 resources/v...

[ Laravel 5.7 文档 ] 基础组件 —— URL 生成

简介 Laravel 提供了多个辅助函数来帮助我们在应用中生成 URL。这些函数主要用于在视图模板和 API 响应中构建链接,或者生成重定向响应。 快速入门 生成 URL url 辅助函数可用于...

[ Laravel 5.7 文档 ] 基础组件 —— Session

简介 由于 HTTP 协议本身是无状态的,上一个请求与下一个请求无任何关联,为此我们引入 Session 来存储用户请求信息以解决特定场景下无状态导致的问题(比如登录、购物)。Laravel 通...

[ Laravel 5.7 文档 ] 基础组件 —— 表单验证

简介 Laravel 提供了多种方法来验证请求输入数据。默认情况下,Laravel 的控制器基类使用 ValidatesRequests trait,该 trait 提供了便捷方法通过各种功能强...

[ Laravel 5.7 文档 ] 基础组件 —— 错误处理

简介 Laravel 默认已经为我们配置好了错误和异常处理,我们在 App\Exceptions\Handler 类中触发异常并将响应返回给用户。在本文档中我们将深入探讨这个类。 注:关于 L...

[ Laravel 5.7 文档 ] 基础组件 —— 日志

简介 为了帮助你了解更多关于应用中所发生的事情,Laravel 提供了强大的日志服务来记录日志信息到文件、系统错误日志、甚至是 Slack 以便通知整个团队。 在日志引擎之下,Laravel 集...

前端开发

安全系列

[ Laravel 5.7 文档 ] 安全系列 —— 登录认证

简介 注:想要快速上手?只需要在新安装的 Laravel 应用下运行 php artisan make:auth 和 php artisan migrate,这两个命令会生成用户登录注册所需要...

[ Laravel 5.7 文档 ] 安全系列 —— API 认证(Passport)

简介 Laravel 通过传统的登录表单已经让用户认证变得很简单,但是 API 认证怎么实现?API 通常使用令牌(token)进行认证并且在请求之间不维护会话(Session)状态。Larav...

[ Laravel 5.7 文档 ] 安全系列 —— 授权

简介 除了提供开箱即用的认证服务之外,Laravel 还提供了一个简单的方式来管理授权逻辑以便控制对资源的访问权限。和认证一样,在 Laravel 中实现授权很简单,主要有两种方式:Gate 和...

[ Laravel 5.7 文档 ] 安全系列 —— 邮箱验证

简介 很多 Web 应用都要求用户注册之后验证邮箱地址才能登录,为此,Laravel 也提供了便捷方法来发送和验证邮箱验证请求,但是这个功能是可选的,你可以启用也可以不启用。 数据库配置 注:...

[ Laravel 5.7 文档 ] 安全系列 —— 加密

简介 Laravel 的加密器使用 OpenSSL 来提供 AES-256 和 AES-128 加密。强烈建议使用 Laravel 自带的加密设置,不要尝试推出自己“土生土长”的加密算法。所有 ...

[ Laravel 5.7 文档 ] 安全系列 —— 哈希

简介 Laravel 的 Hash 门面为存储用户密码提供了安全的 Bcrypt 和 Argon2 哈希算法。如果你正在使用 Laravel 应用自带的 LoginController 和 Re...

[ Laravel 5.7 文档 ] 安全系列 —— 重置密码

简介 想要快速实现该功能?只需要在新安装的 Laravel 应用下运行 php artisan make:auth(如果你已经执行过此命令,可忽略),然后在浏览器中访问 http://your...

进阶系列

[ Laravel 5.7 文档 ] 进阶系列 —— Artisan 控制台

简介 Artisan 是 Laravel 自带的命令行接口,它为我们在开发过程中提供了很多有用的命令。想要查看所有可用的 Artisan 命令,可使用 list 命令: php artisan ...

[ Laravel 5.7 文档 ] 进阶系列 —— 广播

简介 在很多现代 Web 应用中,Web 套接字(WebSockets)被用于实现实时更新的用户接口。当一些数据在服务器上被更新,通常一条消息通过 Websocket 连接被发送给客户端处理。这...

[ Laravel 5.7 文档 ] 进阶系列 —— 缓存

配置 Laravel 为不同的缓存系统提供了统一的 API。缓存配置位于 config/cache.php。在该文件中你可以指定在应用中默认使用哪个缓存驱动。Laravel 开箱支持主流的缓存后...

[ Laravel 5.7 文档 ] 进阶系列 —— 事件

简介 Laravel 事件提供了简单的观察者模式实现,允许你订阅和监听应用中的事件。事件类通常存放在 app/Events 目录,监听器存放在 app/Listeners。如果你在应用中没有看到...

[ Laravel 5.7 文档 ] 进阶系列 —— 集合

简介 Illuminate\Support\Collection 类为处理数组数据提供了流式、方便的封装。例如,查看下面的代码,我们使用辅助函数 collect 创建一个新的集合实例,为每一个元...

[ Laravel 5.7 文档 ] 进阶系列 —— 文件存储

简介 Laravel 基于 Frank de Jonge 开发的 PHP 包 Flysystem 提供了强大的文件系统抽象层。Laravel 集成 Flysystem 以便使用不同驱动简化对文件...

[ Laravel 5.7 文档 ] 进阶系列 —— 辅助函数

简介 Laravel 自带了一系列 PHP 辅助函数,很多被框架自身使用,如果你觉得方便的话也可以在代码中使用它们。 方法列表 数组 & 对象 array_add() array_add...

[ Laravel 5.7 文档 ] 进阶系列 —— 邮件

简介 Laravel 基于 SwiftMailer 库提供了一套干净、清爽的邮件 API。Laravel 为 SMTP、Mailgun、SparkPost、Amazon SES、PHP 的 ma...

[ Laravel 5.7 文档 ] 进阶系列 —— 通知

简介 除了支持发送邮件之外,Laravel 还支持通过多种传输通道发送通知,这些通道包括邮件、短信(通过 Nexmo)以及 Slack 等。通知可以存储在数据库以便后续在 Web 界面中显示。 ...

[ Laravel 5.7 文档 ] 进阶系列 —— 扩展包开发

简介 扩展包是添加额外功能到 Laravel 的主要方式。扩展包可以提供任何功能,小到处理日期如 Carbon,大到整个 BDD 测试框架如 Behat。 当然,有很多不同类型的扩展包。有些扩展...

[ Laravel 5.7 文档 ] 进阶系列 —— 队列

简介 注:Laravel 现在提供了基于 Redis 的,拥有美观的后台和配置系统的 Horizon 队列扩展包,完整信息参考 Horizon文档。 Laravel 队列为不同的后台队列服务...

[ Laravel 5.7 文档 ] 进阶系列 —— 任务调度

简介 Cron 是 UNIX、SOLARIS、LINUX 下的一个十分有用的工具,通过 Cron 脚本能使计划任务定期地在系统后台自动运行。这种计划任务在 UNIX、SOLARIS、LINUX下...

数据库操作

[ Laravel 5.7 文档 ] 数据库操作 —— 快速入门

简介 Laravel 让连接不同数据库以及对数据库进行增删改查操作变得非常简单,不论使用原生 SQL、还是查询构建器,还是 Eloquent ORM。目前,Laravel 支持四种类型的数据库系...

[ Laravel 5.7 文档 ] 数据库操作 —— 查询构建器

简介 数据库查询构建器提供了一个方便的流接口用于创建和执行数据库查询。查询构建器可以用于执行应用中绝大部分数据库操作,并且能够在 Laravel 支持的所有数据库系统上工作。 注:流接口是一种...

[ Laravel 5.7 文档 ] 数据库操作 —— 分页

简介 在其他框架中,分页可能是件非常痛苦的事,Laravel 让这件事变得简单、易于上手。Laravel 的分页器与查询构建器和 Eloquent ORM 集成在一起,并开箱提供方便的、易于使用...

[ Laravel 5.7 文档 ] 数据库操作 —— 迁移

简介 所谓迁移就像是数据库的版本控制,这种机制允许团队简单轻松的编辑并共享应用的数据库表结构。迁移通常和 Laravel 的 schema 构建器结对从而可以很容易地构建应用的数据库表结构。如果...

[ Laravel 5.7 文档 ] 数据库操作 —— 数据填充

简介 Laravel 使用填充类提供了一个简单方法来填充测试数据到数据库。所有的填充类都位于 database/seeds 目录。填充类的类名完全由你自定义,但最好还是遵循一定的规则,例如 Us...

[ Laravel 5.7 文档 ] 数据库操作 —— Redis

简介 Redis 是一个开源的、高级的键值对存储系统,经常被用作数据结构服务器,因为其支持字符串、Hash、列表、集合和有序集合等数据结构。 在 Laravel 中使用 Redis 之前,需要通...

Eloquent模型

[ Laravel 5.7 文档 ] Eloquent ORM —— 快速入门

简介 Laravel 内置的 Eloquent ORM 提供了一个美观、简单的与数据库打交道的 ActiveRecord 实现,每张数据表都对应一个与该表进行交互的模型(Model),通过模型类...

[ Laravel 5.7 文档 ] Eloquent ORM —— 关联关系

简介 数据表经常要与其它表做关联,比如一篇博客文章可能有很多评论,或者一个订单会被关联到下单用户,Eloquent 让组织和处理这些关联关系变得简单,并且支持多种不同类型的关联关系: 一对一 ...

[ Laravel 5.7 文档 ] Eloquent ORM —— 集合

简介 Eloquent 返回的包含多条记录的结果集都是 Illuminate\Database\Eloquent\Collection 对象的实例,包括通过 get 方法或者通过访问关联关系获取...

[ Laravel 5.7 文档 ] Eloquent ORM —— 访问器和修改器

简介 访问器和修改器允许你在获取模型属性或设置其值时格式化 Eloquent 属性。例如,你可能想要使用 Laravel 加密器对存储在数据库中的数据进行加密,并且在 Eloquent 模型中访...

[ Laravel 5.7 文档 ] Eloquent ORM —— API 资源

简介 构建 API 时,在 Eloquent 模型和最终返回给应用用户的 JSON 响应之间可能需要一个转化层。Laravel 的资源类允许你以简单优雅的方式将模型和模型集合转化为 JSON 格...

[ Laravel 5.7 文档 ] Eloquent ORM —— 序列化

简介 当构建 JSON API 时,经常需要转化模型和关联关系为数组或 JSON。Eloquent 提供了便捷方法以便实现这些转换,以及控制哪些属性被包含到序列化中。 序列化模型 & 集...

测试系列

[ Laravel 5.7 文档 ] 测试系列 —— 快速入门

简介 Laravel 植根于测试,实际上,内置使 PHPUnit 对测试提供支持是开箱即用的,并且 phpunit.xml 文件已经为应用设置好了。框架还提供了方便的辅助方法允许你对应用进行优雅...

[ Laravel 5.7 文档 ] 测试系列 —— HTTP 测试

简介 Laravel 为生成 HTTP 请求、测试输出提供了流式 API。举个例子,我们 Laravel 提供的测试示例: <?php namespace Tests\Feature; ...

[ Laravel 5.7 文档 ] 测试系列 —— 浏览器测试(Laravel Dusk)

简介 Laravel Dusk 提供了优雅的、易于使用的浏览器自动测试 API。默认情况下,Dusk 不强制你在机器上安装 JDK 或 Selenium,取而代之地,Dusk 基于独立安装的 C...

[ Laravel 5.7 文档 ] 测试系列 —— 控制台测试

简介 除了简化 HTTP 测试外,Laravel 还为测试需要用户输入的控制台应用提供了简单的 API。 期望输入/输出 Laravel 允许你使用 expectsQuestion 方法为控制台...

[ Laravel 5.7 文档 ] 测试系列 —— 数据库测试

简介 Laravel 提供了多个有用的工具让测试数据库驱动的应用变得更加简单。首先,你可以使用辅助函数 assertDatabaseHas 来断言数据库中的数据是否和给定数据集合匹配。例如,如果...

[ Laravel 5.7 文档 ] 测试系列 —— 模拟

简介 测试 Laravel 应用的时候,你可能还想要“ 模拟 ”应用的特定状态,以便在测试中不让它们真的执行。例如,测试触发事件的控制器时,你可能想要模拟事件监听器以便它们不在测试期间真的执行。...

官方扩展包

[ Laravel 5.7 文档 ] 官方扩展包 —— 订阅支付解决方案:Laravel Cashier

简介 Laravel Cashier 为通过 Stripe 和 Braintree 实现订阅支付服务提供了一个优雅的流式接口。它封装了几乎所有你恐惧编写的样板化的订阅支付代码。除了基本的订阅管理...

[ Laravel 5.7 文档 ] 官方扩展包 —— 远程操作解决方案:Envoy Task Runner

简介 Laravel Envoy 为定义运行在远程主机上的通用任务提供了一套干净的、最简化的语法。使用 Blade 风格语法,你可以轻松为开发设置任务,Artisan命令,以及更多。目前,Env...

[ Laravel 5.7 文档 ] 官方扩展包 —— 队列系统解决方案:Laravel Horizon

简介 Horizon 为 Laravel 提供了基于 Redis 的、拥有美观后台的、代码驱动配置的队列系统。Horizon 让我们可以轻松监控队列系统的关键指标,例如任务吞吐量、运行时间和失败...

[ Laravel 5.7 文档 ] 官方扩展包 —— 全文搜索解决方案:Laravel Scout

简介 Laravel Scout 为 Eloquent 模型全文搜索实现提供了简单的、基于驱动的解决方案。通过使用模型观察者,Scout 会自动同步更新模型记录的索引。 目前,Scout 通过 ...

[Laravel 5.7 文档] 官方扩展包 —— 第三方登录解决方案:Laravel Socialite

简介 除了传统的基于表单的登录认证外,Laravel 还可以通过 Laravel Socialite 提供 OAuth 认证,目前支持的认证驱动包括 Facebook、Twitter、Googl...

[Laravel 5.7 文档] 官方扩展包 —— 本地开发调试解决方案:Laravel Telescope

简介 Laravel Telescope 是一个专门为 Laravel 框架打造的优雅的调试助手。Telescope 可以为进入应用的请求、异常、日志、数据库查询、队列任务、邮件、通知、缓存操作...

Search Results