<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Laravel 5.3 中文文档 on 七三的小站</title>
        <link>https://www.bg7pbp.com/series/laravel-5.3-%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3/</link>
        <description>Recent content in Laravel 5.3 中文文档 on 七三的小站</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <copyright>WangYan</copyright>
        <lastBuildDate>Wed, 21 Sep 2016 00:00:00 +0800</lastBuildDate><atom:link href="https://www.bg7pbp.com/series/laravel-5.3-%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Laravel 5.3 中文文档：快速入门——安装</title>
        <link>https://www.bg7pbp.com/p/laravel-5-3-installation/</link>
        <pubDate>Wed, 21 Sep 2016 00:00:00 +0800</pubDate>
        
        <guid>https://www.bg7pbp.com/p/laravel-5-3-installation/</guid>
        <description>&lt;h2 id=&#34;目录&#34;&gt;目录  &lt;!-- omit from toc --&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%AE%89%E8%A3%85-1&#34;&gt;安装&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#%E8%BF%90%E8%A1%8C%E7%8E%AF%E5%A2%83%E8%A6%81%E6%B1%82&#34;&gt;运行环境要求&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%AE%89%E8%A3%85-laravel&#34;&gt;安装 Laravel&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#%E9%80%9A%E8%BF%87-laravel-%E5%AE%89%E8%A3%85%E5%B7%A5%E5%85%B7&#34;&gt;通过 Laravel 安装工具&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E9%80%9A%E8%BF%87-composer-create-project&#34;&gt;通过 Composer Create-Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%9C%AC%E5%9C%B0%E5%BC%80%E5%8F%91%E6%9C%8D%E5%8A%A1%E5%99%A8&#34;&gt;本地开发服务器&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E9%85%8D%E7%BD%AE%E4%BF%A1%E6%81%AF&#34;&gt;配置信息&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#public-%E7%9B%AE%E5%BD%95&#34;&gt;Public 目录&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6&#34;&gt;配置文件&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E7%9B%AE%E5%BD%95%E6%9D%83%E9%99%90&#34;&gt;目录权限&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%AF%86%E9%92%A5&#34;&gt;应用程序密钥&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%85%B6%E5%AE%83%E8%AE%BE%E7%BD%AE&#34;&gt;其它设置&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;电子文档：&lt;a href=&#34;https://laravel.book.wangyan.org/5.3/&#34;&gt;https://laravel.book.wangyan.org/5.3/&lt;/a&gt;
文章合集：&lt;a href=&#34;http://www.wangyan.cloud/tag/#laravel-5.3&#34;&gt;http://www.wangyan.cloud/tag/#laravel-5.3&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;安装&#34;&gt;安装&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#installation&#34;&gt;安装&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#server-requirements&#34;&gt;运行环境要求&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#installing-laravel&#34;&gt;安装 Laravel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#configuration&#34;&gt;配置信息&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a name=&#34;installation&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;安装-1&#34;&gt;安装&lt;/h2&gt;
&lt;p&gt;&lt;a name=&#34;server-requirements&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;运行环境要求&#34;&gt;运行环境要求&lt;/h3&gt;
&lt;p&gt;Laravel 框架会有一些系统上的要求。当然，这些要求在 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-homestead&#34;&gt;Laravel Homestead&lt;/a&gt; 虚拟机上都已经完全配置好了，强烈建议使用 Homestead 作为本地开发环境。&lt;/p&gt;
&lt;p&gt;不过，如果你没有使用 Homestead，那么需要保证运行环境满足以下要求：&lt;/p&gt;
&lt;div class=&#34;content-list&#34; markdown=&#34;1&#34;&gt;
- PHP &gt;= 5.6.4
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;译者注：强烈推荐使用 Homestead 作为开发环境，尤其是新手，可以避免很多不必要的麻烦。线上环境可以参考 &lt;a href=&#34;https://github.com/laravel/settler/blob/master/scripts/provision.sh&#34;&gt;Homestead 的环境部署脚本&lt;/a&gt; 进行部署。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a name=&#34;installing-laravel&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;安装-laravel&#34;&gt;安装 Laravel&lt;/h3&gt;
&lt;p&gt;Laravel 使用 &lt;a href=&#34;http://getcomposer.org&#34;&gt;Composer&lt;/a&gt; 来管理代码依赖。所以，在使用 Laravel 之前，请先确认你的电脑上安装了 Composer。&lt;/p&gt;
&lt;h4 id=&#34;通过-laravel-安装工具&#34;&gt;通过 Laravel 安装工具&lt;/h4&gt;
&lt;p&gt;首先，通过 Composer 安装 Laravel 安装工具：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;composer global require &amp;quot;laravel/installer&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;请确保 &lt;code&gt;~/.composer/vendor/bin&lt;/code&gt; 目录 (或者你操作系统类似的目录) 在你的系统环境变量中，这样 &lt;code&gt;laravel&lt;/code&gt; 才可以在你系统任意路径调用运行。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;译者注：例如 windwos 系统，该目录是 &lt;code&gt;C:/Users/xxxx/AppData/Roaming/Composer&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;一旦安装完成，就可以使用 &lt;code&gt;laravel new&lt;/code&gt; 命令在指定目录创建一个新的 Laravel 项目，例如：&lt;code&gt;laravel new blog&lt;/code&gt; 将会在当前目录下创建一个叫 &lt;code&gt;blog&lt;/code&gt; 的新应用，此目录里面存放着新安装的 Laravel 和代码依赖。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;laravel new blog
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;译者注：通过这种方式安装，速度要比通过 Composer 安装要快上许多，因为代码依赖是直接一起打包安装的。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id=&#34;通过-composer-create-project&#34;&gt;通过 Composer Create-Project&lt;/h4&gt;
&lt;p&gt;除此之外，你也可以通过 Composer 在命令行运行 &lt;code&gt;create-project&lt;/code&gt; 命令来安装 Laravel：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;composer create-project --prefer-dist laravel/laravel blog
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;译者注：如果要下载其他版本，比如 5.1 LTS 版本，可以使用这个命令：&lt;/p&gt;
&lt;/blockquote&gt;
&lt;pre&gt;&lt;code&gt;composer create-project --prefer-dist laravel/laravel blog 5.1.*
&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&#34;本地开发服务器&#34;&gt;本地开发服务器&lt;/h4&gt;
&lt;p&gt;如果你在本地安装了 PHP ，想使用 PHP 内置的 Web 服务器访问应用。你需要使用 &lt;code&gt;serve&lt;/code&gt; Artisan 命令。这个命令会启动 PHP 内置的开发服务器，通过 &lt;code&gt;http://localhost:8000&lt;/code&gt; 访问。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;php artisan serve
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;当然，了解更多本地开发选项，请阅读文档 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-homestead&#34;&gt;Homestead&lt;/a&gt; 和 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-valet&#34;&gt;Valet&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;configuration&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;配置信息&#34;&gt;配置信息&lt;/h3&gt;
&lt;h4 id=&#34;public-目录&#34;&gt;Public 目录&lt;/h4&gt;
&lt;p&gt;安装完成后，你应该指定 Web 服务器的网站根目录到 &lt;code&gt;public&lt;/code&gt; 文件夹上。在这个文件夹下的 &lt;code&gt;index.php&lt;/code&gt; 文件是所有 HTTP 请求的入口控制文件。&lt;/p&gt;
&lt;h4 id=&#34;配置文件&#34;&gt;配置文件&lt;/h4&gt;
&lt;p&gt;所有 Laravel 框架的配置文件都放置在 &lt;code&gt;config&lt;/code&gt; 目录下。每个选项都有说明，请仔细阅读这些说明，并熟悉这些选项配置。&lt;/p&gt;
&lt;h4 id=&#34;目录权限&#34;&gt;目录权限&lt;/h4&gt;
&lt;p&gt;安装 Laravel 之后，你必须设置一些文件目录权限。&lt;code&gt;storage&lt;/code&gt; 和 &lt;code&gt;bootstrap/cache&lt;/code&gt; 目录必须让 Web 服务有写入权限。否则 laravel 将无法运行。如果你使用 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-homestead&#34;&gt;Homestead&lt;/a&gt; 虚拟机，那么这些权限已经被设置好了。&lt;/p&gt;
&lt;h4 id=&#34;应用程序密钥&#34;&gt;应用程序密钥&lt;/h4&gt;
&lt;p&gt;安装完 Laravel 后，下一步要做的事情是将应用程序密钥设置为一个随机字符串。假设你是通过 Composer 或是 Laravel 安装工具安装的 Laravel，那么这个密钥已经通过 &lt;code&gt;key:generate&lt;/code&gt; 命令帮你设置完成。&lt;/p&gt;
&lt;p&gt;这个密钥可以被设置在 &lt;code&gt;.env&lt;/code&gt; 环境文件中。如果你还没将 &lt;code&gt;.env.example&lt;/code&gt; 文件重命名为 &lt;code&gt;.env&lt;/code&gt;，那么你现在应该去设置下。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;如果应用程序密钥没有被设置的话，你的用户 Session 和其它的加密数据都是不安全的！&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id=&#34;其它设置&#34;&gt;其它设置&lt;/h4&gt;
&lt;p&gt;Laravel 几乎不需做任何其它设置就可以马上使用，但是建议你先浏览 &lt;code&gt;config/app.php&lt;/code&gt; 文件和对应的文档，这里面包含着一些选项，如 &lt;code&gt;时区&lt;/code&gt; 和 &lt;code&gt;语言环境&lt;/code&gt;，你可以根据应用程序的情况来修改。&lt;/p&gt;
&lt;p&gt;你也可以设置 Laravel 的几个附加组件，像是：&lt;/p&gt;
&lt;div class=&#34;content-list&#34; markdown=&#34;1&#34;&gt;
- [缓存](/laravel-5.3-cache#configuration)
- [数据库](/laravel-5.3-database#configuration)
- [Session](/laravel-5.3-session#configuration)
&lt;/div&gt;
&lt;p&gt;一旦 Laravel 安装完成，你应该立即 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-installation#environment-configuration&#34;&gt;设置本机环境&lt;/a&gt;。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;最后更新：2016.09.21&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        </item>
        <item>
        <title>Laravel 5.3 中文文档：序言——贡献指南</title>
        <link>https://www.bg7pbp.com/p/laravel-5-3-contribution-guide/</link>
        <pubDate>Tue, 20 Sep 2016 00:00:00 +0800</pubDate>
        
        <guid>https://www.bg7pbp.com/p/laravel-5-3-contribution-guide/</guid>
        <description>&lt;h2 id=&#34;目录&#34;&gt;目录  &lt;!-- omit from toc --&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#bug-%E5%8F%8D%E9%A6%88-bug-reports&#34;&gt;Bug 反馈 (Bug Reports)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%A0%B8%E5%BF%83%E5%BC%80%E5%8F%91%E8%AE%A8%E8%AE%BA-core-development-discussion&#34;&gt;核心开发讨论 (Core Development Discussion)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E9%80%89%E6%8B%A9%E5%88%86%E6%94%AF-which-branch&#34;&gt;选择分支 (Which Branch?)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%AE%89%E5%85%A8%E6%BC%8F%E6%B4%9E-security-vulnerabilities&#34;&gt;安全漏洞 (Security Vulnerabilities)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E7%BC%96%E7%A0%81%E9%A3%8E%E6%A0%BC-coding-style&#34;&gt;编码风格 (Coding Style)&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#phpdoc&#34;&gt;PHPDoc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#styleci&#34;&gt;StyleCI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;电子文档：&lt;a href=&#34;https://laravel.book.wangyan.org/5.3/&#34;&gt;https://laravel.book.wangyan.org/5.3/&lt;/a&gt;
文章合集：&lt;a href=&#34;http://www.wangyan.cloud/tag/#laravel-5.3&#34;&gt;http://www.wangyan.cloud/tag/#laravel-5.3&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;贡献指南-contribution-guide&#34;&gt;贡献指南 (Contribution Guide)&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#bug-%E5%8F%8D%E9%A6%88-bug-reports&#34;&gt;Bug 反馈 (Bug Reports)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%A0%B8%E5%BF%83%E5%BC%80%E5%8F%91%E8%AE%A8%E8%AE%BA-core-development-discussion&#34;&gt;核心开发讨论 (Core Development Discussion)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E9%80%89%E6%8B%A9%E5%88%86%E6%94%AF-which-branch&#34;&gt;选择分支 (Which Branch?)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%AE%89%E5%85%A8%E6%BC%8F%E6%B4%9E-security-vulnerabilities&#34;&gt;安全漏洞 (Security Vulnerabilities)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E7%BC%96%E7%A0%81%E9%A3%8E%E6%A0%BC-coding-style&#34;&gt;编码风格 (Coding Style)&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#phpdoc&#34;&gt;PHPDoc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#styleci&#34;&gt;StyleCI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a name=&#34;bug-reports&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;bug-反馈-bug-reports&#34;&gt;Bug 反馈 (Bug Reports)&lt;/h2&gt;
&lt;p&gt;为了提倡积极协作，&lt;a href=&#34;http://laravelacademy.org/tags/laravel&#34;&gt;Laravel&lt;/a&gt; 强烈鼓励使用 &lt;a href=&#34;http://laravelacademy.org/tags/github&#34;&gt;GitHub&lt;/a&gt; 的 &lt;code&gt;pull requests&lt;/code&gt;，而不是仅仅报告 Bug，「Bug 反馈」可以以一个包含失败测试的 Pull Request 的形式发送。&lt;/p&gt;
&lt;p&gt;假如你提交了「Bug 反馈」，那么反馈中应该包含着标题和详尽的问题描述，并尽可能多的提供相关的信息和该 Bug 的代码示例。这样做的主要目的是让自己和其他人可以简单地重现并修复该 Bug。&lt;/p&gt;
&lt;p&gt;请记住，「Bug 反馈」的初衷是让其它有相同问题的人可以协作解决问题。不要期望反馈 Bug 后，马上就会有人修复了它。创建「Bug 反馈」主要是为了能帮助你自己和其他人开始着手修复问题。&lt;/p&gt;
&lt;p&gt;Laravel 源代码托管在 GitHub 上面，并且每一个 Laravel 项目都有其对应的代码仓库：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/laravel/framework&#34;&gt;Laravel Framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/laravel/laravel&#34;&gt;Laravel Application&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/laravel/docs&#34;&gt;Laravel Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/laravel/cashier&#34;&gt;Laravel Cashier&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/laravel/cashier-braintree&#34;&gt;Laravel Cashier for Braintree&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/laravel/envoy&#34;&gt;Laravel Envoy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/laravel/homestead&#34;&gt;Laravel Homestead&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/laravel/settler&#34;&gt;Laravel Homestead Build Scripts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/laravel/laravel.com&#34;&gt;Laravel Website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/laravel/art&#34;&gt;Laravel Art&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a name=&#34;core-development-discussion&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;核心开发讨论-core-development-discussion&#34;&gt;核心开发讨论 (Core Development Discussion)&lt;/h2&gt;
&lt;p&gt;你可以在 Laravel 讨论组 &lt;a href=&#34;https://github.com/laravel/internals/issues&#34;&gt;issue board&lt;/a&gt; 提出新特性或者改进。如果你提出了新的特性，请至少附上完成新特性需要的相关代码。&lt;/p&gt;
&lt;p&gt;有关错误、新功能和现有功能的实现讨论会在 Slack 的 &lt;a href=&#34;http://larachat.co&#34;&gt;LaraChat&lt;/a&gt; 群组上的 &lt;code&gt;#internals&lt;/code&gt; 频道中进行。Laravel 的维护者 Taylor Otwell 在工作日的上午8点到下午5点（西六区或美国芝加哥时间）通常会出现在频道上，其它时间也可能偶尔在线。&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;which-branch&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;选择分支-which-branch&#34;&gt;选择分支 (Which Branch?)&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;所有的&lt;/strong&gt; Bug 修复应该提交到 &lt;code&gt;latest stable&lt;/code&gt; 稳定分支上。Bug 修复 &lt;strong&gt;永远不要&lt;/strong&gt; 提交到 &lt;code&gt;master&lt;/code&gt; 分支，除非它修复的功能只存在下一版的发布中。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;次要的&lt;/strong&gt; 且与现有的 Laravel 发布版本 &lt;strong&gt;完全向下兼容&lt;/strong&gt; 的功能可以发送到最新的稳定分支。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;主要的&lt;/strong&gt; 新功能应该都发送到 &lt;code&gt;master&lt;/code&gt; 分支，它包含下一版的 Laravel 发布内容。&lt;/p&gt;
&lt;p&gt;如果不确定你的功能是主要的还是次要的，请在 Slack 的 &lt;a href=&#34;http://larachat.co&#34;&gt;LaraChat&lt;/a&gt; 群组上的 &lt;code&gt;#internals&lt;/code&gt; 频道询问 Taylor Otwell。&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;security-vulnerabilities&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;安全漏洞-security-vulnerabilities&#34;&gt;安全漏洞 (Security Vulnerabilities)&lt;/h2&gt;
&lt;p&gt;如果你发现 Laravel 存在安全漏洞，请发送电子邮件到 &lt;a href=&#34;mailto:taylor@laravel.com&#34;&gt;&lt;a href=&#34;mailto:taylor@laravel.com&#34;&gt;taylor@laravel.com&lt;/a&gt;&lt;/a&gt; 给 Taylor Otwell。所有的安全漏洞将会被及时解决。&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;coding-style&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;编码风格-coding-style&#34;&gt;编码风格 (Coding Style)&lt;/h2&gt;
&lt;p&gt;Laravel 遵守 &lt;a href=&#34;https://phphub.org/topics/2079&#34;&gt;PSR-2&lt;/a&gt; 编码规范和 &lt;a href=&#34;https://phphub.org/topics/2081&#34;&gt;PSR-4&lt;/a&gt; 自动加载规范。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;译者注：扩展阅读 - &lt;a href=&#34;https://psr.phphub.org/&#34;&gt;所有 PSR 的标准规范&lt;/a&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a name=&#34;phpdoc&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;phpdoc&#34;&gt;PHPDoc&lt;/h3&gt;
&lt;p&gt;下面是一个示范文档单元。请注意 &lt;code&gt;@param&lt;/code&gt; 属性后有是有两个空格，参数类型两个以上空格，最后是变量类型名称。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/**
 * 为服务容器注册一个绑定
 *
 * @param  string|array  $abstract
 * @param  \Closure|string|null  $concrete
 * @param  bool  $shared
 * @return void
 */
public function bind($abstract, $concrete = null, $shared = false)
{
    //
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a name=&#34;styleci&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;styleci&#34;&gt;StyleCI&lt;/h3&gt;
&lt;p&gt;如果你的编码风格不完美，别着急！当你 &lt;code&gt;pull requests&lt;/code&gt; 到 Laravel  版本库后， &lt;a href=&#34;https://styleci.io/&#34;&gt;StyleCI&lt;/a&gt; 可以自动合并修复任何风格。这使我们能够专注于内容的贡献，而不是编码风格 。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;最后更新：2016.09.21&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        </item>
        <item>
        <title>Laravel 5.3 中文文档：序言——版本说明</title>
        <link>https://www.bg7pbp.com/p/laravel-5-3-release-notes/</link>
        <pubDate>Mon, 19 Sep 2016 00:00:00 +0800</pubDate>
        
        <guid>https://www.bg7pbp.com/p/laravel-5-3-release-notes/</guid>
        <description>&lt;h2 id=&#34;目录&#34;&gt;目录  &lt;!-- omit from toc --&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%94%AF%E6%8C%81%E6%94%BF%E7%AD%96-support-policy&#34;&gt;支持政策 (Support Policy)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-53&#34;&gt;Laravel 5.3&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%B6%88%E6%81%AF%E9%80%9A%E7%9F%A5-notifications&#34;&gt;消息通知 (Notifications)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#websockets--%E4%BA%8B%E4%BB%B6%E5%B9%BF%E6%92%AD-event-broadcasting&#34;&gt;WebSockets / 事件广播 (Event Broadcasting)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-passport-oauth2-%E8%AE%A4%E8%AF%81%E6%9C%8D%E5%8A%A1&#34;&gt;Laravel Passport (OAuth2 认证服务)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%90%9C%E7%B4%A2%E7%B3%BB%E7%BB%9F-laravel-scout&#34;&gt;搜索系统 (Laravel Scout)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#mailable-%E5%AF%B9%E8%B1%A1-mailable-objects&#34;&gt;Mailable 对象 (Mailable Objects)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%AD%98%E5%82%A8%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6-storing-uploaded-files&#34;&gt;存储上传文件 (Storing Uploaded Files)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#webpack--laravel-elixir&#34;&gt;Webpack &amp;amp; Laravel Elixir&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%89%8D%E7%AB%AF%E6%9E%B6%E6%9E%84-frontend-structure&#34;&gt;前端架构 (Frontend Structure)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E8%B7%AF%E7%94%B1%E6%96%87%E4%BB%B6-routes-files&#34;&gt;路由文件 (Routes Files)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E9%97%AD%E5%8C%85%E6%8E%A7%E5%88%B6%E5%8F%B0%E5%91%BD%E4%BB%A4-closure-console-commands&#34;&gt;闭包控制台命令 (Closure Console Commands)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#blade-%E4%B8%AD%E7%9A%84-loop-%E5%8F%98%E9%87%8F-the-loop-variable&#34;&gt;Blade 中的 &lt;code&gt;$loop&lt;/code&gt; 变量 (The &lt;code&gt;$loop&lt;/code&gt; Variable)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-52&#34;&gt;Laravel 5.2&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#%E7%94%A8%E6%88%B7%E8%AE%A4%E8%AF%81%E9%A9%B1%E5%8A%A8--%E5%A4%9A%E8%AE%A4%E8%AF%81%E7%B3%BB%E7%BB%9F-multi-auth&#34;&gt;用户认证驱动 / &amp;ldquo;多认证系统 (Multi-Auth)&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E7%94%A8%E6%88%B7%E8%AE%A4%E8%AF%81%E8%84%9A%E6%89%8B%E6%9E%B6-authentication-scaffolding&#34;&gt;用户认证脚手架 (Authentication Scaffolding)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E9%9A%90%E5%BC%8F%E6%A8%A1%E5%9E%8B%E7%BB%91%E5%AE%9A-implicit-model-binding&#34;&gt;隐式模型绑定 (Implicit Model Binding)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%AD%E9%97%B4%E4%BB%B6%E7%BE%A4%E7%BB%84-middleware-groups&#34;&gt;中间件群组 (Middleware Groups)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E8%AE%BF%E9%97%AE%E9%A2%91%E7%8E%87%E9%99%90%E5%88%B6-rate-limiting&#34;&gt;访问频率限制 (Rate Limiting)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%95%B0%E7%BB%84%E8%BE%93%E5%85%A5%E9%AA%8C%E8%AF%81-array-validation&#34;&gt;数组输入验证 (Array Validation)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#bail-%E8%AE%A4%E8%AF%81%E8%A7%84%E5%88%99-bail-validation-rule&#34;&gt;Bail 认证规则 (Bail Validation Rule)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#eloquent-%E5%85%A8%E5%B1%80%E4%BD%9C%E7%94%A8%E5%9F%9F%E4%BC%98%E5%8C%96-eloquent-global-scope-improvements&#34;&gt;Eloquent 全局作用域优化 (Eloquent Global Scope Improvements)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-51&#34;&gt;Laravel 5.1&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#php-559&#34;&gt;PHP 5.5.9+&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#lts&#34;&gt;LTS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#psr-2&#34;&gt;PSR-2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%96%87%E6%A1%A3-documentation&#34;&gt;文档 (Documentation)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%BA%8B%E4%BB%B6%E5%B9%BF%E6%92%AD-event-broadcasting&#34;&gt;事件广播 (Event Broadcasting)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%B8%AD%E9%97%B4%E4%BB%B6%E5%8F%82%E6%95%B0-middleware-parameters&#34;&gt;中间件参数 (Middleware Parameters)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%B5%8B%E8%AF%95%E6%94%B9%E8%BF%9B-testing-overhaul&#34;&gt;测试改进 (Testing Overhaul)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%A8%A1%E5%9E%8B%E5%B7%A5%E5%8E%82-model-factories&#34;&gt;模型工厂 (Model Factories)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#artisan-%E7%9A%84%E6%94%B9%E8%BF%9B-artisan-improvements&#34;&gt;Artisan 的改进 (Artisan Improvements)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%96%87%E4%BB%B6%E5%A4%B9%E7%BB%93%E6%9E%84-folder-structure&#34;&gt;文件夹结构 (Folder Structure)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%8A%A0%E5%AF%86-encryption&#34;&gt;加密 (Encryption)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-50&#34;&gt;Laravel 5.0&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%96%B0%E7%9A%84%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84-new-folder-structure&#34;&gt;新的目录结构 (New Folder Structure)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%A5%91%E7%BA%A6-contracts&#34;&gt;契约 (Contracts)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E8%B7%AF%E7%94%B1%E7%BC%93%E5%AD%98-route-cache&#34;&gt;路由缓存 (Route Cache)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E8%B7%AF%E7%94%B1%E4%B8%AD%E9%97%B4%E4%BB%B6-route-middleware&#34;&gt;路由中间件 (Route Middleware)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%8E%A7%E5%88%B6%E5%99%A8%E6%96%B9%E6%B3%95%E6%B3%A8%E5%85%A5-controller-method-injection&#34;&gt;控制器方法注入 (Controller Method Injection)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E8%AE%A4%E8%AF%81%E5%9F%BA%E6%9C%AC%E6%9E%B6%E6%9E%84-authentication-scaffolding&#34;&gt;认证基本架构 (Authentication Scaffolding)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E4%BA%8B%E4%BB%B6%E5%AF%B9%E8%B1%A1-event-objects&#34;&gt;事件对象 (Event Objects)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%91%BD%E4%BB%A4%E5%8F%8A%E9%98%9F%E5%88%97-commands--queueing&#34;&gt;命令及队列 (Commands / Queueing)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%95%B0%E6%8D%AE%E5%BA%93%E9%98%9F%E5%88%97-database-queue&#34;&gt;数据库队列 (Database Queue)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-%E8%B0%83%E5%BA%A6%E5%99%A8-laravel-scheduler&#34;&gt;Laravel 调度器 (Laravel Scheduler)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#tinker--psysh&#34;&gt;Tinker / Psysh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#dotenv&#34;&gt;DotEnv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-elixir&#34;&gt;Laravel Elixir&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-socialite&#34;&gt;Laravel Socialite&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E9%9B%86%E6%88%90-flysystem-integration&#34;&gt;文件系统集成 (Flysystem Integration)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E8%A1%A8%E5%8D%95%E8%AF%B7%E6%B1%82-form-requests&#34;&gt;表单请求 (Form Requests)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E7%AE%80%E6%98%93%E6%8E%A7%E5%88%B6%E5%99%A8%E8%AF%B7%E6%B1%82%E9%AA%8C%E8%AF%81-simple-controller-request-validation&#34;&gt;简易控制器请求验证 (Simple Controller Request Validation)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%96%B0%E7%9A%84%E7%94%9F%E6%88%90%E5%99%A8-new-generators&#34;&gt;新的生成器 (New Generators)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E7%BC%93%E5%AD%98-configuration-cache&#34;&gt;配置文件缓存 (Configuration Cache)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#symfony-vardumper&#34;&gt;Symfony VarDumper&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-42&#34;&gt;Laravel 4.2&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#php-54-%E9%9C%80%E6%B1%82&#34;&gt;PHP 5.4 需求&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-forge&#34;&gt;Laravel Forge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-homestead&#34;&gt;Laravel Homestead&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-%E6%94%B6%E9%93%B6%E5%8F%B0-laravel-cashier&#34;&gt;Laravel 收银台 (Laravel Cashier)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%B8%B8%E9%A9%BB%E7%A8%8B%E5%BA%8F-daemon-queue-workers&#34;&gt;常驻程序 (Daemon Queue Workers)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#mail-api-drivers&#34;&gt;Mail API Drivers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E8%BD%AF%E5%88%A0%E9%99%A4-traits-soft-deleting-traits&#34;&gt;软删除 Traits (Soft Deleting Traits)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#convenient-auth--remindable-traits&#34;&gt;Convenient Auth &amp;amp; Remindable Traits&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E7%AE%80%E6%98%93%E5%88%86%E9%A1%B5-simple-paginate&#34;&gt;&amp;ldquo;简易分页 (Simple Paginate)&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E8%BF%81%E7%A7%BB%E7%A1%AE%E8%AE%A4-migration-confirmation&#34;&gt;迁移确认 (Migration Confirmation)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-41&#34;&gt;Laravel 4.1&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%AE%8C%E6%95%B4%E6%9B%B4%E5%8A%A8%E5%88%97%E8%A1%A8-full-change-list&#34;&gt;完整更动列表 (Full Change List)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%96%B0%E7%9A%84-ssh-%E7%BB%84%E4%BB%B6-new-ssh-component&#34;&gt;新的 SSH 组件 (New SSH Component)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#boris-in-tinker&#34;&gt;Boris In Tinker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#eloquent-%E5%BC%BA%E5%8C%96-eloquent-improvements&#34;&gt;Eloquent 强化 (Eloquent Improvements)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AF%BB%E5%86%99%E5%88%86%E7%A6%BB-database-read--write-connections&#34;&gt;数据库读写分离 (Database Read / Write Connections)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E9%98%9F%E5%88%97%E6%8E%92%E5%BA%8F-queue-priority&#34;&gt;队列排序 (Queue Priority)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%A4%B1%E8%B4%A5%E9%98%9F%E5%88%97%E4%BD%9C%E4%B8%9A%E5%A4%84%E7%90%86--failed-queue-job-handling&#34;&gt;失败队列作业处理 ( Failed Queue Job Handling)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E7%BC%93%E5%AD%98%E6%A0%87%E7%AD%BE-cache-tags&#34;&gt;缓存标签 (Cache Tags)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E6%9B%B4%E5%85%B7%E5%BC%B9%E6%80%A7%E7%9A%84%E5%AF%86%E7%A0%81%E6%8F%90%E9%86%92-flexible-password-reminders&#34;&gt;更具弹性的密码提醒 (Flexible Password Reminders)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%BC%BA%E5%8C%96%E8%B7%AF%E7%94%B1%E5%BC%95%E6%93%8E-improved-routing-engine&#34;&gt;强化路由引擎 (Improved Routing Engine)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#%E5%BC%BA%E5%8C%96-session-%E5%BC%95%E6%93%8E-improved-session-engine&#34;&gt;强化 Session 引擎 (Improved Session Engine)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#doctrine-dbal&#34;&gt;Doctrine DBAL&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;电子文档：&lt;a href=&#34;https://laravel.book.wangyan.org/5.3/&#34;&gt;https://laravel.book.wangyan.org/5.3/&lt;/a&gt;
文章合集：&lt;a href=&#34;http://www.wangyan.cloud/tag/#laravel-5.3&#34;&gt;http://www.wangyan.cloud/tag/#laravel-5.3&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;版本说明-release-notes&#34;&gt;版本说明 (Release Notes)&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#support-policy&#34;&gt;支持政策&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-5.3&#34;&gt;Laravel 5.3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-5.2&#34;&gt;Laravel 5.2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-5.1.11&#34;&gt;Laravel 5.1.11&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-5.1.4&#34;&gt;Laravel 5.1.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-5.1&#34;&gt;Laravel 5.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-5.0&#34;&gt;Laravel 5.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-4.2&#34;&gt;Laravel 4.2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#laravel-4.1&#34;&gt;Laravel 4.1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a name=&#34;support-policy&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;支持政策-support-policy&#34;&gt;支持政策 (Support Policy)&lt;/h2&gt;
&lt;p&gt;对于 LTS 版本，比如 Laravel 5.1，会提供为期两年的 bug 修复和三年的安全修复支持。LTS 版本是 Laravel 能提供的维护时间最长的发行版。&lt;/p&gt;
&lt;p&gt;对于其他通用版本，只提供六个月的 bug 修复和一年的安全修复支持。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://phphub.org/topics/2594&#34;&gt;Laravel 的发布路线图&lt;/a&gt; - by &lt;a href=&#34;http://github.com/summerblue&#34;&gt;Summer&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a name=&#34;laravel-5.3&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;laravel-53&#34;&gt;Laravel 5.3&lt;/h2&gt;
&lt;p&gt;Laravel 5.3 在 5.2 基础上进行了优化，新特性包括以下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-notifications&#34;&gt;消息通知 Laravel Notifications&lt;/a&gt;；&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-broadcasting&#34;&gt;事件广播 Laravel Echo&lt;/a&gt;；&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-passport&#34;&gt;OAuth2 授权认证 Laravel Passport&lt;/a&gt;；&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-scout&#34;&gt;全文搜索引擎 Laravel Scout&lt;/a&gt;；&lt;/li&gt;
&lt;li&gt;Laravel Elixir 开始支持 Webpack；&lt;/li&gt;
&lt;li&gt;Mail 操作类 Laravel Mailable；&lt;/li&gt;
&lt;li&gt;&lt;code&gt;web&lt;/code&gt; 和 &lt;code&gt;api&lt;/code&gt; 的路由分离；&lt;/li&gt;
&lt;li&gt;基于闭包的控制台命令；&lt;/li&gt;
&lt;li&gt;更加易用的辅助函数，用于存储上传的文件；&lt;/li&gt;
&lt;li&gt;支持 POPO 和单动作控制；&lt;/li&gt;
&lt;li&gt;优化默认的前端脚手架，等等。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;消息通知-notifications&#34;&gt;消息通知 (Notifications)&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;{video} Laracasts 上关于此新特性的免费视频 &lt;a href=&#34;https://laracasts.com/series/whats-new-in-laravel-5-3/episodes/9&#34;&gt;video tutorial&lt;/a&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Laravel Notifications 提供了简单、优雅的 API 支持你通过不同的渠道发送通知，例如电子邮件、Slack、手机短信等等。&lt;/p&gt;
&lt;p&gt;例如，你可以定义一个单据 (invoice)，当该单据被付款后，则通过邮件和手机短信发送提醒通知：&lt;/p&gt;
&lt;p&gt;你可用通过下面这个简单的方法来实现：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$user-&amp;gt;notify(new InvoicePaid($invoice));
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href=&#34;http://laravel-notification-channels.com&#34;&gt;Laravel 社区&lt;/a&gt; 已经为通知系统编写了各式的驱动，甚至包括对 iOS 和 Android 通知的支持，更多关于通知系统的信息，请查看 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-notifications&#34;&gt;完整的文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;websockets--事件广播-event-broadcasting&#34;&gt;WebSockets / 事件广播 (Event Broadcasting)&lt;/h3&gt;
&lt;p&gt;事件广播在之前版本的 Laravel 中已经存在，Laravel 5.3 现支持对私有和已存在的 WebSocket 频道添加频道级认证：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/*
 * Authenticate the channel subscription...
 */
Broadcast::channel(&#39;orders.*&#39;, function ($user, $orderId) {
    return $user-&amp;gt;placedOrder($orderId);
});
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Laravel Echo 是一个可通过 NPM 安装的全新的 JavaScript 包，会随 Laravel 5.3 一起发布。Echo 提供了简单、优雅的 API 接口，支持你在 JavaScript 客户端应用中，订阅频道和监听服务器端事件。&lt;/p&gt;
&lt;p&gt;Echo 提供的支持包括 &lt;a href=&#34;https://pusher.com&#34;&gt;Pusher&lt;/a&gt; 以及 &lt;a href=&#34;http://socket.io&#34;&gt;Socket.io&lt;/a&gt;：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Echo.channel(&#39;orders.&#39; + orderId)
    .listen(&#39;ShippingStatusUpdated&#39;, (e) =&amp;gt; {
        console.log(e.description);
    });
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;除了订阅到传统频道上，Laravel Echo 也让频道的监听与管理变得更加简单：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Echo.join(&#39;chat.&#39; + roomId)
    .here((users) =&amp;gt; {
        //
    })
    .joining((user) =&amp;gt; {
        console.log(user.name);
    })
    .leaving((user) =&amp;gt; {
        console.log(user.name);
    });
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;了解更多关于 Echo 和事件广播(event broadcasting)的信息，请查阅 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-broadcasting&#34;&gt;完整文档&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;laravel-passport-oauth2-认证服务&#34;&gt;Laravel Passport (OAuth2 认证服务)&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;{video} Laracasts 上关于此功能的免费视频 &lt;a href=&#34;https://laracasts.com/series/whats-new-in-laravel-5-3/episodes/13&#34;&gt;video tutorial&lt;/a&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Laravel 5.3 的 Passport 让 API 认证变得简单。Laravel Passport 可以让你在几分钟内为应用程序创建一个完整的 OAuth2 认证服务，Passport 基于 Alex Bilbie 的 &lt;a href=&#34;https://github.com/thephpleague/oauth2-server&#34;&gt;League OAuth2 server&lt;/a&gt; 实现。&lt;/p&gt;
&lt;p&gt;Passport 让发放 OAuth2 令牌（Access Token）变得轻松，你还可以允许用户通过 Web 界面创建 &lt;code&gt;个人访问令牌 (personal access tokens)&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;为了方便提高开发效率，Passport 内置了一个 Vue 组件，该组件提供了 OAuth2 后台界面功能，允许用户创建客户端、撤销访问令牌，以及更多其他功能：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;passport-clients&amp;gt;&amp;lt;/passport-clients&amp;gt;
&amp;lt;passport-authorized-clients&amp;gt;&amp;lt;/passport-authorized-clients&amp;gt;
&amp;lt;passport-personal-access-tokens&amp;gt;&amp;lt;/passport-personal-access-tokens&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果你不想使用 Vue 组件，你可以自由的定制用于管理客户端和访问令牌(access tokens)的前端及后台。Passport 提供了一个简单的 JSON API，你可以在前端使用任何 JavaScript 框架与之集成。&lt;/p&gt;
&lt;p&gt;当然，Passport 还提供了方便的 API 让你定制「Token 访问域 (access token scopes)」：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Passport::tokensCan([
    &#39;place-orders&#39; =&amp;gt; &#39;Place new orders&#39;,
    &#39;check-status&#39; =&amp;gt; &#39;Check order status&#39;,
]);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;此外，Passport 还包含了一个用于检查「Token 访问域 (access token scopes)」访问权限的中间件：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Route::get(&#39;/orders/{order}/status&#39;, function (Order $order) {
    // Access token has &amp;quot;check-status&amp;quot; scope...
})-&amp;gt;middleware(&#39;scope:check-status&#39;);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;最后，Passport 还支持从 JavaScript 应用访问你的 API，而不必担心访问令牌传输。&lt;/p&gt;
&lt;p&gt;Passport 通过加密 JWT cookies 和同步「CSRF 令牌」来实现此功能，让你专注于业务开发。&lt;/p&gt;
&lt;p&gt;更多关于 Passport 信息，请查看 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-passport&#34;&gt;完整文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;搜索系统-laravel-scout&#34;&gt;搜索系统 (Laravel Scout)&lt;/h3&gt;
&lt;p&gt;Laravel Scout 提供了一个简单的、基于驱动的、针对 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-eloquent&#34;&gt;Eloquent&lt;/a&gt; 模型的全文搜索解决方案。&lt;/p&gt;
&lt;p&gt;通过模型观察者(model observers)，Scout 会自动同步更新 Eloquent 的搜索索引，目前，Scout使用 &lt;a href=&#34;https://www.algolia.com/&#34;&gt;Algolia&lt;/a&gt; 驱动，你可以自由的编写自己驱动来扩展 Scout。&lt;/p&gt;
&lt;p&gt;你只需要添加 &lt;code&gt;Searchable trait&lt;/code&gt; 到模型中，就能让模型支持搜索：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;?php

namespace App;

use Laravel\Scout\Searchable;
use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    use Searchable;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;在你在模型中添加 trait 以后，数据会在 &lt;code&gt;save&lt;/code&gt; 的时候自动保持同步：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$order = new Order;

// ...

$order-&amp;gt;save();
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;在模型被成功索引以后，可以很轻松的使用全文搜索，你甚至可以为索引的结果进行分页操作：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;return Order::search(&#39;Star Trek&#39;)-&amp;gt;get();

return Order::search(&#39;Star Trek&#39;)-&amp;gt;where(&#39;user_id&#39;, 1)-&amp;gt;paginate();
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;更多 Scout 功能，请查阅 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-scout&#34;&gt;Scout 的完整文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;mailable-对象-mailable-objects&#34;&gt;Mailable 对象 (Mailable Objects)&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;{video} Laracasts 上关于此功能的免费视频 &lt;a href=&#34;https://laracasts.com/series/whats-new-in-laravel-5-3/episodes/6&#34;&gt;video tutorial&lt;/a&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Laravel 5.3 Mailable 是一个崭新的 Mail 操作类，通过一种更加优雅的方式发送邮件，而不再需要在闭包中自定义邮件信息。&lt;/p&gt;
&lt;p&gt;例如，定义一个简单的邮寄对象用作发送欢迎邮件：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;class WelcomeMessage extends Mailable
{
    use Queueable, SerializesModels;

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this-&amp;gt;view(&#39;emails.welcome&#39;);
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Mailable 对象被创建以后，你可以使用一个简单、优雅的 API 将其发送给用户：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Mail::to($user)-&amp;gt;send(new WelcomeMessage);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Mailable 还支持队列操作，只需要在类声明里实现 &lt;code&gt;ShouldQueue&lt;/code&gt; 即可：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;class WelcomeMessage extends Mailable implements ShouldQueue
{
    //
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;更多关于 Mailable 的信息，请查看 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-mail&#34;&gt;完整文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;存储上传文件-storing-uploaded-files&#34;&gt;存储上传文件 (Storing Uploaded Files)&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;{video} Laracasts 上关于此功能的免费视频 &lt;a href=&#34;https://laracasts.com/series/whats-new-in-laravel-5-3/episodes/12&#34;&gt;video tutorial&lt;/a&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;存储用户上传文件，在 Web 开发中是一个很常见的任务。Laravel 5.3 提供了一个便捷的 &lt;code&gt;store&lt;/code&gt; 方法，只需要对上传文件对象调用此方法，并传参准备存储的路径即可：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/**
 * Update the avatar for the user.
 *
 * @param  Request  $request
 * @return Response
 */
public function update(Request $request)
{
    $path = $request-&amp;gt;file(&#39;avatar&#39;)-&amp;gt;store(&#39;avatars&#39;, &#39;s3&#39;);

    return $path;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;更多上传文件信息，请查看 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-filesystem#file-uploads&#34;&gt;完整文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;webpack--laravel-elixir&#34;&gt;Webpack &amp;amp; Laravel Elixir&lt;/h3&gt;
&lt;p&gt;Laravel Elixir 6.0 与 Laravel 5.3 共同发布，内置了 Webpack 和 Rollup JavaScript。&lt;/p&gt;
&lt;p&gt;默认情况下，Laravel 5.3 的 &lt;code&gt;gulpfile.js&lt;/code&gt; 使用 Webpack 来编译你的 JavaScript 文件：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;elixir(mix =&amp;gt; {
    mix.sass(&#39;app.scss&#39;)
       .webpack(&#39;app.js&#39;);
});
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;完整文档请见 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-elixir&#34;&gt;Laravel Elixir&lt;/a&gt; 。&lt;/p&gt;
&lt;h3 id=&#34;前端架构-frontend-structure&#34;&gt;前端架构 (Frontend Structure)&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;{video} Laracasts 上关于此功能的免费视频 &lt;a href=&#34;https://laracasts.com/series/whats-new-in-laravel-5-3/episodes/4&#34;&gt;video tutorial&lt;/a&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Laravel 5.3 提供了一个更加现代的前端架构。这主要会影响 &lt;code&gt;make:auth&lt;/code&gt; 命令生成认证相关的前端脚手架(scaffolding)代码，不再从 CDN 中加载前端资源，所有依赖被定义在默认的 package.json 文件中，你可以自行修改。&lt;/p&gt;
&lt;p&gt;此外，支持单文件的 &lt;a href=&#34;https://vuejs.org&#34;&gt;Vue 组件&lt;/a&gt; 现在直接开箱即用， &lt;code&gt;resources/assets/js/components&lt;/code&gt; 目录下包含了一个简单的示例 &lt;code&gt;Example.vue&lt;/code&gt;，新的 &lt;code&gt;resources/assets/js/app.js&lt;/code&gt; 用来配置 JavaScript 类库依赖和 Vue 子模块。&lt;/p&gt;
&lt;p&gt;这种架构对开始开发现代的、强大的 JavaScript 应用提供了更好的支持，而不需要要求应用使用任何特定 JavaScript 或者 CSS 框架。&lt;/p&gt;
&lt;p&gt;更多信息，请查看对应文档 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-frontend&#34;&gt;前端文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;路由文件-routes-files&#34;&gt;路由文件 (Routes Files)&lt;/h3&gt;
&lt;p&gt;默认情况下，新安装的 Laravel 5.3 应用在新的顶级目录 &lt;code&gt;routes&lt;/code&gt; 下包含了 &lt;code&gt;web.php&lt;/code&gt; 和 &lt;code&gt;api.php&lt;/code&gt; 两个 &lt;code&gt;HTTP&lt;/code&gt; 路由文件，你也可以按照此方法自行扩展。&lt;/p&gt;
&lt;p&gt;API 相关的路由在 &lt;code&gt;RouteServiceProvider&lt;/code&gt; 中指定了自动添加 &lt;code&gt;api&lt;/code&gt; 前缀。&lt;/p&gt;
&lt;h3 id=&#34;闭包控制台命令-closure-console-commands&#34;&gt;闭包控制台命令 (Closure Console Commands)&lt;/h3&gt;
&lt;p&gt;除了通过命令类定义之外，Artisan 命令现支持在 &lt;code&gt;app/Console/Kernel.php&lt;/code&gt; 文件中使用简单闭包的方式定义。&lt;/p&gt;
&lt;p&gt;在新安装的 Laravel 5.3 应用中，&lt;code&gt;commands&lt;/code&gt; 方法会加载 &lt;code&gt;routes/console.php&lt;/code&gt; 文件，从而允许你基于闭包、以路由风格定义控制台命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Artisan::command(&#39;build {project}&#39;, function ($project) {
    $this-&amp;gt;info(&#39;Building project...&#39;);
});
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;更多信息请参见 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-artisan#closure-commands&#34;&gt;Artisan 文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;blade-中的-loop-变量-the-loop-variable&#34;&gt;Blade 中的 &lt;code&gt;$loop&lt;/code&gt; 变量 (The &lt;code&gt;$loop&lt;/code&gt; Variable)&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;{video} Laracasts 上关于此功能的免费视频 &lt;a href=&#34;https://laracasts.com/series/whats-new-in-laravel-5.3/episodes/7&#34;&gt;video tutorial&lt;/a&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;当我们在 Blade 模板中循环遍历的时候，&lt;code&gt;$loop&lt;/code&gt; 魔术变量将会在循环中生效。通过该变量可以访问很多有用的信息，比如当前循环索引值，以及当前循环是第一个还是最后一个：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;@foreach ($users as $user)
    @if ($loop-&amp;gt;first)
        This is the first iteration.
    @endif

    @if ($loop-&amp;gt;last)
        This is the last iteration.
    @endif

    &amp;lt;p&amp;gt;This is user {{ $user-&amp;gt;id }}&amp;lt;/p&amp;gt;
@endforeach
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;更多信息请查看 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-blade#the-loop-variable&#34;&gt;Blade 文档&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;laravel-5.2&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;laravel-52&#34;&gt;Laravel 5.2&lt;/h2&gt;
&lt;p&gt;Laravel 5.2 在 Laravel 5.1 的基础上进行了优化，新特性包括以下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;支持更多样的用户认证驱动；&lt;/li&gt;
&lt;li&gt;隐式数据模型绑定；&lt;/li&gt;
&lt;li&gt;简化 Eloquent 全局作用域；&lt;/li&gt;
&lt;li&gt;内置用户认证脚手架支持；&lt;/li&gt;
&lt;li&gt;中间件组；&lt;/li&gt;
&lt;li&gt;访问频率限制中间件；&lt;/li&gt;
&lt;li&gt;数组认证的优化等&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;用户认证驱动--多认证系统-multi-auth&#34;&gt;用户认证驱动 / &amp;ldquo;多认证系统 (Multi-Auth)&amp;rdquo;&lt;/h3&gt;
&lt;p&gt;在之前的 Laravel 版本中，框架只支持默认的、基于 session 的认证驱动，且在单个应用中只能拥有一个认证模型类。&lt;/p&gt;
&lt;p&gt;Laravel 5.2 对此进行了改进，你可以定义多个认证驱动，还支持多个可认证的数据模型以及用户表，并且可以独立控制其认证。&lt;/p&gt;
&lt;p&gt;例如，如果你的应用中有一张「admin」数据库用户表，一张「student」数据库用户表（一个后台管理员用户表和一个前台学生用户表），现在你可以使用  &lt;code&gt;Auth&lt;/code&gt; 方法来实现后台用户和学生用户的独立登录而不相互影响。&lt;/p&gt;
&lt;h3 id=&#34;用户认证脚手架-authentication-scaffolding&#34;&gt;用户认证脚手架 (Authentication Scaffolding)&lt;/h3&gt;
&lt;p&gt;此前 Laravel 后端认证处理已经是相当容易了，现在 Laravel 5.2 提供了一个更加便捷、快速的方法来创建前台认证视图，只需要简单的在终端执行 &lt;code&gt;make:auth&lt;/code&gt; 命令即可。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;php artisan make:auth
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;该命令会生成纯文本的、兼容 Bootstrap 样式的视图用于登录、注册和密码重置。该命令还会顺带在路由文件中增加对应的授权路由。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;{note} 该功能特性只能用于新创建的应用，不能用于升级后的应用。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;隐式模型绑定-implicit-model-binding&#34;&gt;隐式模型绑定 (Implicit Model Binding)&lt;/h3&gt;
&lt;p&gt;隐式模型绑定使得在路由和控制器中注入模型实例更加便捷。例如，假设你定义了一个如下的路由：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;use App\User;

Route::get(&#39;/user/{user}&#39;, function (User $user) {
    return $user;
});
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;在 Laravel 5.1 中，你通常需要通过 &lt;code&gt;Route::model&lt;/code&gt; 方法告诉 Laravel 注入 &lt;code&gt;App\User&lt;/code&gt; 实例以匹配路由定义中的 &lt;code&gt;{user}&lt;/code&gt; 参数。&lt;/p&gt;
&lt;p&gt;现在，在 Laravel 5.2 中，框架将会基于相应 URI 判断 &lt;strong&gt;自动&lt;/strong&gt; 注入模型，从而允许你快速访问需要的模型实例。&lt;/p&gt;
&lt;p&gt;如路由参数片段 &lt;code&gt;{user}&lt;/code&gt; 匹配到 &lt;code&gt;路由闭包&lt;/code&gt; 或 &lt;code&gt;控制器方法&lt;/code&gt; 中对应参数 &lt;code&gt;$user&lt;/code&gt;，且类型提示为 Eloquent 数据模型的话，Laravel 将会自动注入该模型。&lt;/p&gt;
&lt;p&gt;更多隐式模型绑定信息，请查看 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-routing#Route-Model-Binding&#34;&gt;HTTP 路由模型绑定部分&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;中间件群组-middleware-groups&#34;&gt;中间件群组 (Middleware Groups)&lt;/h3&gt;
&lt;p&gt;中间件群组允许你将多个路由中间件组织到单一、方便的键 （即群组名称）下面，从而可以为某个路由一次指派多个中间件。例如，在同一个应用中构建 Web UI 或 API 时，这一特性很有用。例如，你可以將 session 及 CSRF 路由組合成一個 &lt;code&gt;web&lt;/code&gt; 群組，并将访问频率限制分组到 &lt;code&gt;api&lt;/code&gt;群组。&lt;/p&gt;
&lt;p&gt;实际上，默认的 Laravel 5.2 应用结构采用的正是这种方法。例如，在默认的 &lt;code&gt;App\Http\Kernel.php&lt;/code&gt;  文件中你会看到如下内容：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/**
 * The application&#39;s route middleware groups.
 *
 * @var array
 */
protected $middlewareGroups = [
    &#39;web&#39; =&amp;gt; [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \App\Http\Middleware\VerifyCsrfToken::class,
    ],

    &#39;api&#39; =&amp;gt; [
        &#39;throttle:60,1&#39;,
    ],
];
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后，&lt;code&gt;web&lt;/code&gt; 组可以这样指定给路由：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Route::group([&#39;middleware&#39; =&amp;gt; [&#39;web&#39;]], function () {
    //
});
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;默认的，所有的 &lt;code&gt;app/Http/routes.php&lt;/code&gt; 中的路由 &lt;strong&gt;已经&lt;/strong&gt; 在 &lt;code&gt;RouteServiceProvider&lt;/code&gt; 的 &lt;code&gt;mapWebRoutes&lt;/code&gt; 方法中指定了 &lt;code&gt;web&lt;/code&gt; 中间件组，所以你不必重复指定。&lt;/p&gt;
&lt;h3 id=&#34;访问频率限制-rate-limiting&#34;&gt;访问频率限制 (Rate Limiting)&lt;/h3&gt;
&lt;p&gt;框架现在内置了一个新的访问频率限制中间件，允许你轻松控制给定 IP 地址在指定时间内对某个路由发起请求的数目。&lt;/p&gt;
&lt;p&gt;例如，要限制某个 IP 地址每分钟只能访问某个路由 60 次，你可以这么做：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Route::get(&#39;/api/users&#39;, [&#39;middleware&#39; =&amp;gt; &#39;throttle:60,1&#39;, function () {
    //
}]);
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;数组输入验证-array-validation&#34;&gt;数组输入验证 (Array Validation)&lt;/h3&gt;
&lt;p&gt;在 Laravel 5.2 中，可轻松验证表单中的每一个数组输入字段。例如，要验证指定数组输入字段中每一个 email 是否唯一，可以这么实现：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$validator = Validator::make($request-&amp;gt;all(), [
    &#39;person.*.email&#39; =&amp;gt; &#39;email|unique:users&#39;
]);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;同样的，你可以使用「 *」 符号来指定要验证数组字段，自定义验证数组字段的错误消息提醒：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&#39;custom&#39; =&amp;gt; [
    &#39;person.*.email&#39; =&amp;gt; [
        &#39;unique&#39; =&amp;gt; &#39;Each person must have a unique e-mail address&#39;,
    ]
],
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;bail-认证规则-bail-validation-rule&#34;&gt;Bail 认证规则 (Bail Validation Rule)&lt;/h3&gt;
&lt;p&gt;Laravel 5.2 新添加了一个 &lt;code&gt;bail&lt;/code&gt; 认证规则，此规则会在第一个失败认证后停止后面的其他认证检查。例如：你想在 &lt;code&gt;integer&lt;/code&gt; 数值检查失败后停止对 &lt;code&gt;unique&lt;/code&gt; 唯一性的检查：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$this-&amp;gt;validate($request, [
    &#39;user_id&#39; =&amp;gt; &#39;bail|integer|unique:users&#39;
]);
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;eloquent-全局作用域优化-eloquent-global-scope-improvements&#34;&gt;Eloquent 全局作用域优化 (Eloquent Global Scope Improvements)&lt;/h3&gt;
&lt;p&gt;在之前的 Laravel 版本，Eloquent 全局作用域的实现是复杂且容易出错的，但在 Laravel 5.2 中，全局查询作用域只需实现一个简单的方法 &lt;code&gt;apply&lt;/code&gt; 即可。&lt;/p&gt;
&lt;p&gt;更多关于全局作用域(global scopes)的信息请查阅完整的 &lt;a href=&#34;https://www.laravel.com/docs/5.2/eloquent#global-scopes&#34;&gt;Eloquent 文件&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;laravel-5.1&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;laravel-51&#34;&gt;Laravel 5.1&lt;/h2&gt;
&lt;p&gt;Laravel 5.1 由 Laravel 5.0 改进而成，变更包括但是不限于：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;采用 PSR-2 规范&lt;/li&gt;
&lt;li&gt;支持添加事件广播&lt;/li&gt;
&lt;li&gt;中间件参数&lt;/li&gt;
&lt;li&gt;Artisan 的改进等等。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;php-559&#34;&gt;PHP 5.5.9+&lt;/h3&gt;
&lt;p&gt;由于 PHP 5.4 将在九月「结束寿命」，PHP 开发团队不再提供安全性更新，所以 Laravel 要求 PHP 5.5.9 或更高的版本。&lt;/p&gt;
&lt;p&gt;PHP 5.5.9 同时也是最新版本的 PHP 函数库，像是 Guzzle 及 AWS SDK 需要的最小版本需要。&lt;/p&gt;
&lt;h3 id=&#34;lts&#34;&gt;LTS&lt;/h3&gt;
&lt;p&gt;Laravel 5.1 是 Laravel 生态系统中第一个 &lt;strong&gt;长期支持&lt;/strong&gt; 版本。Laravel 5.1 会获得两年的 BUG 修复及三年的安全性修复，此策略也使 Laravel 能更好的服务于较大型的企业客户及消费者。&lt;/p&gt;
&lt;h3 id=&#34;psr-2&#34;&gt;PSR-2&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://phphub.org/topics/2079&#34;&gt;PSR-2 代码风格指南&lt;/a&gt; 已经被 Laravel 框架采用为默认的代码风格指南。此外，所有的生成器都已进行更新，生成的文件将兼容 PSR-2 规范。&lt;/p&gt;
&lt;h3 id=&#34;文档-documentation&#34;&gt;文档 (Documentation)&lt;/h3&gt;
&lt;p&gt;Laravel 文档的每一页已被精心审阅，并得到显著的改善。所有的代码例子也进行了严密检查，使其有更高的上下文关联性。&lt;/p&gt;
&lt;h3 id=&#34;事件广播-event-broadcasting&#34;&gt;事件广播 (Event Broadcasting)&lt;/h3&gt;
&lt;p&gt;WebSockets 技术越来越多的被现代 Web 应用使用，当服务器上一些数据更新，WebSocket 会实时发送一个消息给客户端，实现即时更新用户状态功能。&lt;/p&gt;
&lt;p&gt;Laravel 的事件广播机制很好的支持了此类应用的开发，广播事件允许服务器端代码和 JavaScript 框架间分享相同的事件名称。&lt;/p&gt;
&lt;p&gt;了解更多关于事件广播，请查阅 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-events#broadcasting-events&#34;&gt;事件的文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;中间件参数-middleware-parameters&#34;&gt;中间件参数 (Middleware Parameters)&lt;/h3&gt;
&lt;p&gt;中间件支持接收自定义传参，例如要在运行特定操作之前，检查当前登录的用户是否具备「某角色」，可以创建 &lt;code&gt;RoleMiddleware&lt;/code&gt; 来接收角色名称作为传参：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;?php

namespace App\Http\Middleware;

use Closure;

class RoleMiddleware
{
    /**
     * 运行请求过滤。
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string  $role
     * @return mixed
     */
    public function handle($request, Closure $next, $role)
    {
        if (! $request-&amp;gt;user()-&amp;gt;hasRole($role)) {
            // 重定向...
        }

        return $next($request);
    }

}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;在路由中使用冒号 &lt;code&gt;:&lt;/code&gt; 来区隔中间件名称与参数，多个参数可使用逗号作为分隔：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Route::put(&#39;post/{id}&#39;, [&#39;middleware&#39; =&amp;gt; &#39;role:editor&#39;, function ($id) {
    //
}]);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;关于中间件的更多信息，请查阅 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-middleware&#34;&gt;中间件的文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;测试改进-testing-overhaul&#34;&gt;测试改进 (Testing Overhaul)&lt;/h3&gt;
&lt;p&gt;Laravel 内置的测试功能已得到显著的改善，新版本提供了简明的接口与应用程序进行交互，响应检查也变得更加轻松。&lt;/p&gt;
&lt;p&gt;例如下方的测试：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;public function testNewUserRegistration()
{
    $this-&amp;gt;visit(&#39;/register&#39;)
         -&amp;gt;type(&#39;Taylor&#39;, &#39;name&#39;)
         -&amp;gt;check(&#39;terms&#39;)
         -&amp;gt;press(&#39;Register&#39;)
         -&amp;gt;seePageIs(&#39;/dashboard&#39;);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;关于测试的更多信息，请查阅 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-testing&#34;&gt;测试的文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;模型工厂-model-factories&#34;&gt;模型工厂 (Model Factories)&lt;/h3&gt;
&lt;p&gt;Laravel 的 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-testing#model-factories&#34;&gt;模型工厂&lt;/a&gt; 提供一种简单的方式来创建仿真 Eloquent 模型。&lt;/p&gt;
&lt;p&gt;在为 Eloquent 模型定义一组「默认」填充字段后，即可为测试，或者数据填充生成测试模型实例。&lt;/p&gt;
&lt;p&gt;另外，模型工厂支持使用 &lt;a href=&#34;https://github.com/fzaninotto/Faker&#34;&gt;Faker&lt;/a&gt; 来生成随机数据：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$factory-&amp;gt;define(App\User::class, function ($faker) {
    return [
        &#39;name&#39; =&amp;gt; $faker-&amp;gt;name,
        &#39;email&#39; =&amp;gt; $faker-&amp;gt;email,
        &#39;password&#39; =&amp;gt; str_random(10),
        &#39;remember_token&#39; =&amp;gt; str_random(10),
    ];
});
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;更多关于模型工厂的信息，请查阅 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-testing#model-factories&#34;&gt;它的文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;artisan-的改进-artisan-improvements&#34;&gt;Artisan 的改进 (Artisan Improvements)&lt;/h3&gt;
&lt;p&gt;Artisan 命令现支持类似于命名路由的定义，以简单易懂的形式来定义命令行的参数及选项。&lt;/p&gt;
&lt;p&gt;举个例子，你可以定义一个简单的命令及它的参数和选项，如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/**
 * 命令行的名字及署名。
 *
 * @var string
 */
protected $signature = &#39;email:send {user} {--force}&#39;;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;更多关于定义 Artisan 命令的消息，请参考 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-artisan&#34;&gt;Artisan 的文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;文件夹结构-folder-structure&#34;&gt;文件夹结构 (Folder Structure)&lt;/h3&gt;
&lt;p&gt;为了更方便理解，&lt;code&gt;app/Commands&lt;/code&gt; 目录已经被更名为 &lt;code&gt;app/Jobs&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;此外，&lt;code&gt;app/Handler&lt;/code&gt; 目录已经被合并成一个只包含事件侦听器的 &lt;code&gt;app/Listeners&lt;/code&gt; 目录中。&lt;/p&gt;
&lt;p&gt;这不是一个重大的改变，你不必更新成新的文件夹结构也能使用 Laravel 5.1。&lt;/p&gt;
&lt;h3 id=&#34;加密-encryption&#34;&gt;加密 (Encryption)&lt;/h3&gt;
&lt;p&gt;在 Laravel 之前的版本，加密是通过 &lt;code&gt;mcrypt&lt;/code&gt; PHP 扩展进行处理。不过，从 Laravel 5.1 起，加密将采用更积极维护的 &lt;code&gt;openssl&lt;/code&gt; 扩展进行处理。&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;laravel-5.0&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;laravel-50&#34;&gt;Laravel 5.0&lt;/h2&gt;
&lt;p&gt;Laravel 5.0 引进了新的应用程序架构。新架构允许 Laravel 创建更加健壮的应用程序，新架构全面采用新的自动加载标准（PSR-4）。&lt;/p&gt;
&lt;p&gt;以下是一些主要变化：&lt;/p&gt;
&lt;h3 id=&#34;新的目录结构-new-folder-structure&#34;&gt;新的目录结构 (New Folder Structure)&lt;/h3&gt;
&lt;p&gt;旧的 &lt;code&gt;app/models&lt;/code&gt; 目录已经完全被移除。对应的，你所有的代码都放在 &lt;code&gt;app&lt;/code&gt; 目录下。&lt;/p&gt;
&lt;p&gt;默认情况下使用 &lt;code&gt;App&lt;/code&gt; 命名空间。可以使用 &lt;code&gt;app:name&lt;/code&gt; Artisan 命令对默认命名空间进行修改。&lt;/p&gt;
&lt;p&gt;控制器、中间件，以及表单请求（Laravel 5.0 中新型态的类），分门别类的放在 &lt;code&gt;app/Http&lt;/code&gt; 目录下，因为他们都与应用程序的 HTTP 传输层相关。除了一个路由设置的文件外，所有中间件现都分开为独自的类文件。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;app/Providers&lt;/code&gt; 目录取代了旧版 Laravel 4.x &lt;code&gt;app/start&lt;/code&gt; 里的文件。这些服务提供者为应用程序提供了各种引导功能，像是错误处理，日志纪录，路由加载等等。当然，你可以任意的创建新的服务提供者。&lt;/p&gt;
&lt;p&gt;应用程序的语言文件和视图都被移到 &lt;code&gt;resources&lt;/code&gt; 目录下。&lt;/p&gt;
&lt;h3 id=&#34;契约-contracts&#34;&gt;契约 (Contracts)&lt;/h3&gt;
&lt;p&gt;所有 Laravel 组件实现所用的接口都放在 &lt;code&gt;illuminate/contracts&lt;/code&gt; 文件夹中，他们没有其他依赖。这些方便集成的接口，让依赖注入变得低耦合，可简单作为 Laravel Facades 的替代选项。&lt;/p&gt;
&lt;p&gt;更多关于 contracts 的信息，参考 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-contracts&#34;&gt;完整文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;路由缓存-route-cache&#34;&gt;路由缓存 (Route Cache)&lt;/h3&gt;
&lt;p&gt;如果你的应用程序全部使用控制器路由，新的 &lt;code&gt;route:cache&lt;/code&gt; Artisan 命令可大幅度地优化路由注册寻找速度。&lt;/p&gt;
&lt;p&gt;这对于拥有 100 个以上路由规则的应用程序来说很有用，可以 &lt;strong&gt;大幅度地&lt;/strong&gt; 加快应用程序路由部分的处理速度。&lt;/p&gt;
&lt;h3 id=&#34;路由中间件-route-middleware&#34;&gt;路由中间件 (Route Middleware)&lt;/h3&gt;
&lt;p&gt;除了像 Laravel 4 风格的路由「过滤器」，Laravel 5 现在有 HTTP 中间件，而原本的认证和 CSRF 「过滤器」已经改写成中间件。中间件提供了单个、一致的接口取代了各种过滤器，让你在请求进到应用程序前，可以简单地检查甚至拒绝请求。&lt;/p&gt;
&lt;p&gt;更多关于中间件的信息，参考 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-middleware&#34;&gt;完整文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;控制器方法注入-controller-method-injection&#34;&gt;控制器方法注入 (Controller Method Injection)&lt;/h3&gt;
&lt;p&gt;除了之前有的类的构造函数注入外，你现在可以在控制器方法中使用依赖注入。&lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-container&#34;&gt;服务容器&lt;/a&gt; 会自动注入依赖，即使路由包含了其它参数也不成问题：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;public function createPost(Request $request, PostRepository $posts)
{
    //
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;认证基本架构-authentication-scaffolding&#34;&gt;认证基本架构 (Authentication Scaffolding)&lt;/h3&gt;
&lt;p&gt;认证系统默认包含了用户注册，认证，以及重设密码的控制器，还有对应的视图，视图文件存放在 &lt;code&gt;resources/views/auth&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;除此之外，「users」数据表迁移也默认包含在框架中。这些简单的资源，可以让你把心思放在产品开发上，而不用陷在编写认证模板的泥潭。&lt;/p&gt;
&lt;p&gt;认证相关的视图可以通过 &lt;code&gt;auth/login&lt;/code&gt; 以及 &lt;code&gt;auth/register&lt;/code&gt; 路由访问。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;App\Services\Auth\Registrar&lt;/code&gt; 会负责处理用户认证和注册用户的相关逻辑。&lt;/p&gt;
&lt;h3 id=&#34;事件对象-event-objects&#34;&gt;事件对象 (Event Objects)&lt;/h3&gt;
&lt;p&gt;你现在可以将事件定义成对象，而不是仅使用字符串。例：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;?php

class PodcastWasPurchased
{
    public $podcast;

    public function __construct(Podcast $podcast)
    {
        $this-&amp;gt;podcast = $podcast;
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这个事件可以像一般使用那样被派发：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Event::fire(new PodcastWasPurchased($podcast));
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;当然，你的事件处理会收到事件的对象而不是数据的列表：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;?php

class ReportPodcastPurchase
{
    public function handle(PodcastWasPurchased $event)
    {
        //
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;更多关于使用事件的信息，参考 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-events&#34;&gt;完整文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;命令及队列-commands--queueing&#34;&gt;命令及队列 (Commands / Queueing)&lt;/h3&gt;
&lt;p&gt;除了 Laravel 4 形式的队列任务，Laravel 5 还支持命令对象直接作为队列任务。这些命令放在 &lt;code&gt;app/Commands&lt;/code&gt; 目录下。下面是个例子的命令：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;?php

class PurchasePodcast extends Command implements SelfHandling, ShouldBeQueued
{

    use SerializesModels;

    protected $user, $podcast;

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct(User $user, Podcast $podcast)
    {
        $this-&amp;gt;user = $user;
        $this-&amp;gt;podcast = $podcast;
    }

    /**
     * Execute the command.
     *
     * @return void
     */
    public function handle()
    {
        // Handle the logic to purchase the podcast...
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Laravel 的基底控制器使用了新的 &lt;code&gt;DispatchesCommands&lt;/code&gt; trait，让你可以简单的派发命令运行：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$this-&amp;gt;dispatch(new PurchasePodcastCommand($user, $podcast));
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;当然，你也可以将命令视为同步运行（而不会被放到队列里）的任务。事实上，「命令总线」是个不错的设计模式，可以封装应用程序需要运行的复杂任务。更多相关的信息，参考 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-bus&#34;&gt;command bus&lt;/a&gt; 文档。&lt;/p&gt;
&lt;h3 id=&#34;数据库队列-database-queue&#34;&gt;数据库队列 (Database Queue)&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;database&lt;/code&gt; 队列驱动现在已经包含在 Laravel 中了，提供了简单的本地端队列驱动，除了数据库相关软件外不需安装其它扩展包，完全开箱即用。&lt;/p&gt;
&lt;h3 id=&#34;laravel-调度器-laravel-scheduler&#34;&gt;Laravel 调度器 (Laravel Scheduler)&lt;/h3&gt;
&lt;p&gt;在过去，开发者是在 crontab 里配置任务调度的。然而，这是件很头痛的事情，因为你的命令行调度不在版本控制中，并且必须登录到服务器里才能添加新的 Cron 设置。&lt;/p&gt;
&lt;p&gt;Laravel 命令行调度的存在，就是为了改变这一情况。&lt;/p&gt;
&lt;p&gt;命令行调度系统让你在 Laravel 里定义富有表达性的命令调度，而且只需要在服务器里设置一个 Cron 设置即可。&lt;/p&gt;
&lt;p&gt;看起来如下：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$schedule-&amp;gt;command(&#39;artisan:command&#39;)-&amp;gt;dailyAt(&#39;15:00&#39;);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;参考 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-artisan#scheduling-artisan-commands&#34;&gt;完整文档&lt;/a&gt; 学习所有调度相关知识。&lt;/p&gt;
&lt;h3 id=&#34;tinker--psysh&#34;&gt;Tinker / Psysh&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;php artisan tinker&lt;/code&gt; 命令现在使用 Justin Hileman 的 &lt;a href=&#34;https://github.com/bobthecow/psysh&#34;&gt;Psysh&lt;/a&gt;，一个 PHP 更强大的 REPL。如果你喜欢 Laravel 4 的 Boris，你也会喜欢上 Psysh。更好的是，它可以在 Windows 上运行！&lt;/p&gt;
&lt;p&gt;赶快尝试下吧：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;php artisan tinker
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&#34;dotenv&#34;&gt;DotEnv&lt;/h3&gt;
&lt;p&gt;比起一堆令人困惑的、嵌套的环境配置文件，Laravel 5 现在使用了 Vance Lucas 的 &lt;a href=&#34;https://github.com/vlucas/phpdotenv&#34;&gt;DotEnv&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;这个扩展包提供了超级简单的方式管理配置文件，并且让 Laravel 5 环境侦测变得轻松。更多的细节，参考完整的 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-configuration#environment-configuration&#34;&gt;配置文件文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;laravel-elixir&#34;&gt;Laravel Elixir&lt;/h3&gt;
&lt;p&gt;Jeffrey Way 的 Laravel Elixir 提供了一个流畅、口语化的接口，可以编译以及合并静态资源。如果你曾经因为学习 Grunt 或 Gulp 而被吓到，不必再害怕了。Elixir 让使用 Gulp 编译 Less、Sass 及 CoffeeScript 变得简单。它甚至可以帮你运行测试！&lt;/p&gt;
&lt;p&gt;更多关于 Elixir 的信息，参考 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-elixir&#34;&gt;完整文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;laravel-socialite&#34;&gt;Laravel Socialite&lt;/h3&gt;
&lt;p&gt;Laravel Socialite 是可选的，兼容 Laravel 5.0 以上的 OAuth 认证扩展包。目前 Socialite 支持 Facebook、Twitter、Google 以及 GitHub。它写起来是这样的：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;public function redirectForAuth()
{
    return Socialize::with(&#39;twitter&#39;)-&amp;gt;redirect();
}

public function getUserFromProvider()
{
    $user = Socialize::with(&#39;twitter&#39;)-&amp;gt;user();
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;不再需要花上数小时编写 OAuth 的认证流程，只要几分钟！查看 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-authentication#social-authentication&#34;&gt;完整文档&lt;/a&gt; 里有所有的细节。&lt;/p&gt;
&lt;h3 id=&#34;文件系统集成-flysystem-integration&#34;&gt;文件系统集成 (Flysystem Integration)&lt;/h3&gt;
&lt;p&gt;Laravel 现在包含了强大的 &lt;a href=&#34;https://github.com/thephpleague/flysystem&#34;&gt;Flysystem 文件系统&lt;/a&gt;（一个文件系统的抽象函数库）。&lt;/p&gt;
&lt;p&gt;文件系统以抽象的概念，把本地端文件系统、Amazon S3 和 Rackspace 云存储集成在一起，统一且优雅的 API！&lt;/p&gt;
&lt;p&gt;现在要将文件存到 Amazon S3 相当简单：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Storage::put(&#39;file.txt&#39;, &#39;contents&#39;);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;更多关于 Laravel 文件系统集成，参考 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-filesystem&#34;&gt;完整文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;表单请求-form-requests&#34;&gt;表单请求 (Form Requests)&lt;/h3&gt;
&lt;p&gt;Laravel 5.0 引进了 &lt;strong&gt;form requests&lt;/strong&gt;，是继承自 &lt;code&gt;Illuminate\Foundation\Http\FormRequest&lt;/code&gt; 的类。这些 request 对象可以和控制器方法依赖注入结合使用，提供一个不需模版的方法，来验证用户输入。让我们深入点，看一个 &lt;code&gt;FormRequest&lt;/code&gt; 的例子：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;?php

namespace App\Http\Requests;

class RegisterRequest extends FormRequest
{
    public function rules()
    {
        return [
            &#39;email&#39; =&amp;gt; &#39;required|email|unique:users&#39;,
            &#39;password&#39; =&amp;gt; &#39;required|confirmed|min:8&#39;,
        ];
    }

    public function authorize()
    {
        return true;
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;定义好类后，我们可以在控制器动作里使用类型提示进行依赖注入：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;public function register(RegisterRequest $request)
{
    var_dump($request-&amp;gt;input());
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;当 Laravel 的服务容器辨别出要注入的类是个 &lt;code&gt;FormRequest&lt;/code&gt; 实例，该请求将会被 &lt;strong&gt;自动验证&lt;/strong&gt;。意味着，框架会自动根据你在 form request 类里自定的规则，对请求进行检验。当控制器动作调用时，你可以安全的假设 HTTP 的请求输入己被验证过。&lt;/p&gt;
&lt;p&gt;甚至，若这个请求验证不通过，一个 HTTP 重定向（可以自定义），会自动发出，错误消息可以被闪存到 session 中或是转换成 JSON 返回。&lt;strong&gt;表单验证再简单不过了。&lt;/strong&gt; 更多关于 &lt;code&gt;FormRequest&lt;/code&gt; 验证，请参考 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-validation#form-request-validation&#34;&gt;文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;简易控制器请求验证-simple-controller-request-validation&#34;&gt;简易控制器请求验证 (Simple Controller Request Validation)&lt;/h3&gt;
&lt;p&gt;Laravel 5 基底控制器包含一个 &lt;code&gt;ValidatesRequests&lt;/code&gt; trait。这个 trait 包含了一个简单的 &lt;code&gt;validate&lt;/code&gt; 方法可以验证请求。如果对你的应用程序来说 &lt;code&gt;FormRequests&lt;/code&gt; 太复杂了，可以考虑使用手动验证方法：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;public function createPost(Request $request)
{
    $this-&amp;gt;validate($request, [
        &#39;title&#39; =&amp;gt; &#39;required|max:255&#39;,
        &#39;body&#39; =&amp;gt; &#39;required&#39;,
    ]);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果验证失败，会抛出异常以及返回适当的 HTTP 响应到浏览器。验证错误信息会被闪存到 session 里！而如果请求是 AJAX 请求，Laravel 会自动返回 JSON 格式的验证错误信息。&lt;/p&gt;
&lt;p&gt;更多关于这个新方法的信息，参考 &lt;a href=&#34;https://www.bg7pbp.com/laravel-5.3-validation#controller-validation&#34;&gt;这个文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;新的生成器-new-generators&#34;&gt;新的生成器 (New Generators)&lt;/h3&gt;
&lt;p&gt;为了响应新的应用程序默认架构，框架新增了许多 Artisan generator 命令。使用 &lt;code&gt;php artisan list&lt;/code&gt; 查看完整的命令列表。&lt;/p&gt;
&lt;h3 id=&#34;配置文件缓存-configuration-cache&#34;&gt;配置文件缓存 (Configuration Cache)&lt;/h3&gt;
&lt;p&gt;你现在可以通过 &lt;code&gt;config:cache&lt;/code&gt; 命令将所有的配置文件缓存在单个文件中，这样在一定程度上会加快框架的启动效率。&lt;/p&gt;
&lt;h3 id=&#34;symfony-vardumper&#34;&gt;Symfony VarDumper&lt;/h3&gt;
&lt;p&gt;广为使用的 &lt;code&gt;dd&lt;/code&gt; 辅助函数，用作在调试时输出变量信息，现采用令人惊艳的 Symfony VarDumper 扩展包。它提供了颜色标记的输出，甚至数组可以自动缩合。在项目中试试下列代码：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;dd([1, 2, 3]);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a name=&#34;laravel-4.2&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;laravel-42&#34;&gt;Laravel 4.2&lt;/h2&gt;
&lt;p&gt;此发行版本的完整的变更列表可以通过运行 &lt;code&gt;php artisan changes&lt;/code&gt; 命令来获取，或者 &lt;a href=&#34;https://github.com/laravel/framework/blob/4.2/src/Illuminate/Foundation/changes.json&#34;&gt;Github 上的更动纪录&lt;/a&gt;。此纪录仅含括主要更新和此发行的更动部分。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;附注:&lt;/strong&gt; 在 4.2 开发期间，许多小的 BUG 修正与功能强化被整合至各个 4.1 的子发行版本中。所以，也请一并检查 Laravel 4.1 版本的更新列表。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;php-54-需求&#34;&gt;PHP 5.4 需求&lt;/h3&gt;
&lt;p&gt;Laravel 4.2 需要 PHP 5.4 以上的版本。此 PHP 更新版本让我们可以使用 PHP 的新功能：traits 来为像是 &lt;a href=&#34;https://www.bg7pbp.com/docs/billing&#34;&gt;Laravel 收银台&lt;/a&gt; 来提供更具表达力的接口。PHP 5.4 也比 PHP 5.3 带来显著的速度及性能提升。&lt;/p&gt;
&lt;h3 id=&#34;laravel-forge&#34;&gt;Laravel Forge&lt;/h3&gt;
&lt;p&gt;Larvel Forge，一个网页应用程序，提供一个简单的接口让你创建管理云端上的 PHP 服务器，像是 Linode、DigitalOcean、Rackspace 和 Amazon EC2。&lt;/p&gt;
&lt;p&gt;支持自动化 nginx 设置、SSH 密钥管理、Cron job 自动化、通过 NewRelic &amp;amp; Papertrail 服务器监控、「推送部署」、Laravel queue worker 设置等等。Forge 提供最简单且更实惠的方式来部署所有你的 Laravel 应用程序。&lt;/p&gt;
&lt;p&gt;默认 Laravel 4.2 的安装里，&lt;code&gt;app/config/database.php&lt;/code&gt; 配置文件已为 Forge 设置完成，让你更方便的完成新平台上的全新应用程序的部署。&lt;/p&gt;
&lt;p&gt;关于 Laravel Forge 的更多信息可以在 &lt;a href=&#34;https://forge.laravel.com&#34;&gt;官方 Forge 网站&lt;/a&gt; 上找到。&lt;/p&gt;
&lt;h3 id=&#34;laravel-homestead&#34;&gt;Laravel Homestead&lt;/h3&gt;
&lt;p&gt;Laravel Homestead 是一个健全的 Laravel 和 PHP 应用程序 Vagrant 环境。软件依赖都已提前准备好，可以极快的被启用。&lt;/p&gt;
&lt;p&gt;Homestead 包含 Nginx 1.6、PHP 5.5.12、MySQL、Postres、Redis、Memcached、Beanstalk、Node、Gulp、Grunt 和 Bower。Homestead 包含一个简单的 &lt;code&gt;Homestead.yaml&lt;/code&gt; 配置文件，允许你在单个封装包中管理多个 Laravel 应用程序。&lt;/p&gt;
&lt;p&gt;默认的 Laravel 4.2 安装中包含的 &lt;code&gt;app/config/local/database.php&lt;/code&gt; 配置文件已经为你配置好了 Homestead 的数据库连接。让 Laravel 初始化安装与设置更为方便。&lt;/p&gt;
&lt;p&gt;官方文档已经更新并包含在 &lt;a href=&#34;https://www.bg7pbp.com/docs/homestead&#34;&gt;Homestead 文档&lt;/a&gt; 中。&lt;/p&gt;
&lt;h3 id=&#34;laravel-收银台-laravel-cashier&#34;&gt;Laravel 收银台 (Laravel Cashier)&lt;/h3&gt;
&lt;p&gt;Laravel 收银台是一个简单、具表达性的资源库，用来管理 Stripe 的订阅服务。虽然安装此组件是可选的，我们仍然将收银台文档包含在主要 Laravel 文档中。新版本的收银台带来了数个错误修正、多货币支持还有支持了最新的 Stripe API。&lt;/p&gt;
&lt;h3 id=&#34;常驻程序-daemon-queue-workers&#34;&gt;常驻程序 (Daemon Queue Workers)&lt;/h3&gt;
&lt;p&gt;Artisan &lt;code&gt;queue:work&lt;/code&gt; 命令现在支持 &lt;code&gt;--daemon&lt;/code&gt; 参数让 worker 可以作为「常驻程序」启用。代表 worker 可以持续的处理队列工作，而不需要重启框架。这让一个复杂的应用程序对 CPU 的使用率有显著的降低。&lt;/p&gt;
&lt;p&gt;更多关于 Queue Workers 常驻程序信息请详阅 &lt;a href=&#34;https://www.bg7pbp.com/docs/queues#daemon-queue-worker&#34;&gt;queue 文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;mail-api-drivers&#34;&gt;Mail API Drivers&lt;/h3&gt;
&lt;p&gt;Laravel 4.2 为 &lt;code&gt;Mail&lt;/code&gt; 类采用了新的 Mailgun 和 Mandrill API 驱动。对许多应用程序而言，他提供了比 SMTP 更快也更可靠的方法来递送邮件。新的驱动使用了 Guzzle 4 HTTP 资源库。&lt;/p&gt;
&lt;h3 id=&#34;软删除-traits-soft-deleting-traits&#34;&gt;软删除 Traits (Soft Deleting Traits)&lt;/h3&gt;
&lt;p&gt;PHP 5.4 的 &lt;code&gt;traits&lt;/code&gt; 提供了一个更加简洁的软删除架构和全局作用域，这些新架构为框架提供了更有扩展性的功能，并且让框架更加简洁。&lt;/p&gt;
&lt;p&gt;更多关于软删除的文档请见: &lt;a href=&#34;https://www.bg7pbp.com/docs/eloquent#soft-deleting&#34;&gt;Eloquent documentation&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;convenient-auth--remindable-traits&#34;&gt;Convenient Auth &amp;amp; Remindable Traits&lt;/h3&gt;
&lt;p&gt;得益于 PHP 5.4 traits，我们有了一个更简洁的用户认证和密码提醒接口，这也让 &lt;code&gt;User&lt;/code&gt; 模型文档更加精简。&lt;/p&gt;
&lt;h3 id=&#34;简易分页-simple-paginate&#34;&gt;&amp;ldquo;简易分页 (Simple Paginate)&amp;rdquo;&lt;/h3&gt;
&lt;p&gt;一个新的 &lt;code&gt;simplePaginate&lt;/code&gt; 方法已被加入到查找以及 Eloquent 查找器中。让你在分页视图中，使用简单的「上一页」和「下一页」链接查找更为高效。&lt;/p&gt;
&lt;h3 id=&#34;迁移确认-migration-confirmation&#34;&gt;迁移确认 (Migration Confirmation)&lt;/h3&gt;
&lt;p&gt;在正式环境中，破坏性的迁移动作将会被再次确认。如果希望取消提示字符确认请使用 &lt;code&gt;--force&lt;/code&gt; 参数。&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;laravel-4.1&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;laravel-41&#34;&gt;Laravel 4.1&lt;/h2&gt;
&lt;h3 id=&#34;完整更动列表-full-change-list&#34;&gt;完整更动列表 (Full Change List)&lt;/h3&gt;
&lt;p&gt;此发行版本的完整更动列表，可以在版本 4.1 的安装中命令行运行 &lt;code&gt;php artisan changes&lt;/code&gt; 获取，或者浏览 &lt;a href=&#34;https://github.com/laravel/framework/blob/4.1/src/Illuminate/Foundation/changes.json&#34;&gt;Github 更新文件中&lt;/a&gt; 中了解。其中只记录了该版本比较主要的强化功能和更动。&lt;/p&gt;
&lt;h3 id=&#34;新的-ssh-组件-new-ssh-component&#34;&gt;新的 SSH 组件 (New SSH Component)&lt;/h3&gt;
&lt;p&gt;一个全新的 &lt;code&gt;SSH&lt;/code&gt; 组件在此发行版本中登场。此功能让你可以轻易的 SSH 至远程服务器并运行命令。更多信息，可以参阅 &lt;a href=&#34;https://www.bg7pbp.com/docs/ssh&#34;&gt;SSH 组件文档&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;新的 &lt;code&gt;php artisan tail&lt;/code&gt; 命令就是使用这个新的 SSH 组件。更多的信息，请参阅 &lt;code&gt;tail&lt;/code&gt; &lt;a href=&#34;http://laravel.com/docs/ssh#tailing-remote-logs&#34;&gt;命令集文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;boris-in-tinker&#34;&gt;Boris In Tinker&lt;/h3&gt;
&lt;p&gt;如果你的系统支持 &lt;a href=&#34;https://github.com/d11wtq/boris&#34;&gt;Boris REPL&lt;/a&gt;，&lt;code&gt;php artisan thinker&lt;/code&gt; 命令将会使用到它。系统中也必须先行安装好 &lt;code&gt;readline&lt;/code&gt; 和 &lt;code&gt;pcntl&lt;/code&gt; 两个 PHP 扩展包。如果你没这些扩展包，从 4.0 之后将会使用到它。&lt;/p&gt;
&lt;h3 id=&#34;eloquent-强化-eloquent-improvements&#34;&gt;Eloquent 强化 (Eloquent Improvements)&lt;/h3&gt;
&lt;p&gt;Eloquent 添加了新的 &lt;code&gt;hasManyThrough&lt;/code&gt; 关系链。想要了解更多，请参见 &lt;a href=&#34;https://www.bg7pbp.com/docs/eloquent#has-many-through&#34;&gt;Eloquent 文档&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;一个新的 &lt;code&gt;whereHas&lt;/code&gt; 方法也同时登场，他将允许 &lt;a href=&#34;https://www.bg7pbp.com/docs/eloquent#querying-relations&#34;&gt;检索基于关系模型&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;数据库读写分离-database-read--write-connections&#34;&gt;数据库读写分离 (Database Read / Write Connections)&lt;/h3&gt;
&lt;p&gt;Query Builder 和 Eloquent 目前通过数据库层，已经可以自动做到读写分离。更多的信息，请参考 &lt;a href=&#34;https://www.bg7pbp.com/docs/database#read-write-connections&#34;&gt;文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;队列排序-queue-priority&#34;&gt;队列排序 (Queue Priority)&lt;/h3&gt;
&lt;p&gt;队列排序已经被支持，只要在 &lt;code&gt;queue:listen&lt;/code&gt; 命令后将队列以逗号分隔送出。&lt;/p&gt;
&lt;h3 id=&#34;失败队列作业处理--failed-queue-job-handling&#34;&gt;失败队列作业处理 ( Failed Queue Job Handling)&lt;/h3&gt;
&lt;p&gt;现在队列将会自动处理失败的作业，只要在 &lt;code&gt;queue:listen&lt;/code&gt; 后加上 &lt;code&gt;--tries&lt;/code&gt; 即可。更多的失败作业处理可以参见 &lt;a href=&#34;https://www.bg7pbp.com/docs/queues#failed-jobs&#34;&gt;队列文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;缓存标签-cache-tags&#34;&gt;缓存标签 (Cache Tags)&lt;/h3&gt;
&lt;p&gt;缓存「区块」已经被「标签」取代。缓存标签允许你将多个「标签」指向同一个缓存对象，而且可以清空所有被指定某个标签的所有对象。更多使用缓存标签信息请见 &lt;a href=&#34;https://www.bg7pbp.com/docs/cache#cache-tags&#34;&gt;缓存文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;更具弹性的密码提醒-flexible-password-reminders&#34;&gt;更具弹性的密码提醒 (Flexible Password Reminders)&lt;/h3&gt;
&lt;p&gt;密码提醒引擎已经可以提供更强大的开发弹性，如：认证密码、显示状态消息等等。使用强化的密码提醒引擎，更多的信息 &lt;a href=&#34;https://www.bg7pbp.com/docs/security#password-reminders-and-reset&#34;&gt;请参阅文档&lt;/a&gt;。&lt;/p&gt;
&lt;h3 id=&#34;强化路由引擎-improved-routing-engine&#34;&gt;强化路由引擎 (Improved Routing Engine)&lt;/h3&gt;
&lt;p&gt;Laravel 4.1 拥有一个完全重新编写的路由层。API 一样不变。然而与 4.0 相比，速度快上 100%。整个引擎大幅的简化，且路由表达式大大减少对 Symfony Routing 的依赖。&lt;/p&gt;
&lt;h3 id=&#34;强化-session-引擎-improved-session-engine&#34;&gt;强化 Session 引擎 (Improved Session Engine)&lt;/h3&gt;
&lt;p&gt;此发行版本中，我们亦发布了全新的 Session 引擎。如同路由增进的部分，新的 Session 层更加简化且更快速。我们不再使用 Symfony 的 Session 处理工具，并且使用更简单、更容易维护的自定义解法。&lt;/p&gt;
&lt;h3 id=&#34;doctrine-dbal&#34;&gt;Doctrine DBAL&lt;/h3&gt;
&lt;p&gt;如果你有在你的迁移中使用到 &lt;code&gt;renameColumn&lt;/code&gt;，之后你必须在 &lt;code&gt;composer.json&lt;/code&gt; 里加 &lt;code&gt;doctrine/dbal&lt;/code&gt; 进依赖扩展包中。此扩展包不再默认包含在 Laravel 之中。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;最后更新：2016.09.21&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        </item>
        
    </channel>
</rss>
