Skip to content

发布说明

Laravel 4.2

通过在 4.2 安装中运行 php artisan changes 命令,或通过 在 Github 上查看更改文件 来获取此版本的完整更改列表。这些说明仅涵盖此版本的主要增强和更改。

lightbulb

在 4.2 发布周期中,许多小的错误修复和增强功能被纳入了各种 Laravel 4.1 的小版本发布中。因此,请务必检查 Laravel 4.1 的更改列表!

PHP 5.4 要求

Laravel 4.2 要求 PHP 5.4 或更高版本。此升级的 PHP 要求使我们能够使用新的 PHP 特性,例如 traits,以提供更具表现力的接口,用于像 Laravel Cashier 这样的工具。PHP 5.4 还带来了显著的速度和性能提升,相较于 PHP 5.3。

Laravel Forge

Laravel Forge 是一个新的基于 Web 的应用程序,提供了一种简单的方法来创建和管理您选择的云上的 PHP 服务器,包括 Linode、DigitalOcean、Rackspace 和 Amazon EC2。支持自动 Nginx 配置、SSH 密钥访问、Cron 作业自动化、通过 NewRelic 和 Papertrail 进行服务器监控、"Push To Deploy"、Laravel 队列工作者配置等,Forge 提供了启动所有 Laravel 应用程序的最简单和最实惠的方法。

默认的 Laravel 4.2 安装的 app/config/database.php 配置文件现在默认配置为 Forge 使用,从而更方便地将新应用程序部署到该平台。

有关 Laravel Forge 的更多信息,请访问 官方 Forge 网站

Laravel Homestead

Laravel Homestead 是一个官方的 Vagrant 环境,用于开发强大的 Laravel 和 PHP 应用程序。大多数盒子的配置需求在盒子打包分发之前就已处理,使盒子能够极快地启动。Homestead 包含 Nginx 1.6、PHP 5.6、MySQL、Postgres、Redis、Memcached、Beanstalk、Node、Gulp、Grunt 和 Bower。Homestead 包含一个简单的 Homestead.yaml 配置文件,用于在单个盒子上管理多个 Laravel 应用程序。

默认的 Laravel 4.2 安装现在包括一个 app/config/local/database.php 配置文件,该文件配置为使用 Homestead 数据库,使 Laravel 的初始安装和配置更加方便。

官方文档也已更新,以包括 Homestead 文档

Laravel Cashier

Laravel Cashier 是一个简单、直观的库,用于管理与 Stripe 的订阅计费。随着 Laravel 4.2 的推出,我们将 Cashier 文档与主要的 Laravel 文档一起包含,尽管组件本身的安装仍然是可选的。此版本的 Cashier 带来了许多错误修复、多货币支持以及与最新 Stripe API 的兼容性。

守护进程队列工作者

Artisan queue:work 命令现在支持 --daemon 选项,以在“守护进程模式”下启动工作者,这意味着工作者将继续处理作业,而无需重新启动框架。这导致 CPU 使用率显著降低,但代价是稍微复杂的应用程序部署过程。

有关守护进程队列工作者的更多信息,请参见 队列文档

邮件 API 驱动程序

Laravel 4.2 引入了新的 Mailgun 和 Mandrill API 驱动程序,用于 Mail 函数。对于许多应用程序,这提供了一种比 SMTP 选项更快、更可靠的发送电子邮件的方法。新驱动程序利用 Guzzle 4 HTTP 库。

软删除特性

通过 PHP 5.4 traits 引入了一种更清晰的“软删除”和其他“全局范围”的架构。这种新架构允许更容易构建类似的全局特性,并在框架内部实现更清晰的关注点分离。

有关新 SoftDeletingTrait 的更多信息,请参见 Eloquent 文档

方便的身份验证和提醒特性

默认的 Laravel 4.2 安装现在使用简单的特性来包含身份验证和密码提醒用户界面所需的属性。这提供了一个更清晰的默认 User 模型文件。

“简单分页”

在查询和 Eloquent 构建器中添加了一个新的 simplePaginate 方法,该方法允许在分页视图中使用简单的“下一步”和“上一步”链接时进行更高效的查询。

迁移确认

在生产环境中,破坏性迁移操作现在会要求确认。可以使用 --force 命令强制运行命令而不提示。

Laravel 4.1

完整更改列表

通过在 4.1 安装中运行 php artisan changes 命令,或通过 在 Github 上查看更改文件 来获取此版本的完整更改列表。这些说明仅涵盖此版本的主要增强和更改。

新的 SSH 组件

在此版本中引入了一个全新的 SSH 组件。此功能允许您轻松 SSH 进入远程服务器并运行命令。要了解更多信息,请查阅 SSH 组件文档

新的 php artisan tail 命令利用了新的 SSH 组件。有关更多信息,请查阅 tail 命令文档

Boris 在 Tinker 中

如果您的系统支持,php artisan tinker 命令现在利用 Boris REPL。必须安装 readlinepcntl PHP 扩展才能使用此功能。如果您没有这些扩展,将使用 4.0 的 shell。

Eloquent 改进

在 Eloquent 中添加了新的 hasManyThrough 关系。要了解如何使用它,请查阅 Eloquent 文档

还引入了新的 whereHas 方法,以允许根据关系约束 检索模型

数据库读/写连接

在数据库层,包括查询构建器和 Eloquent 中,现在可以自动处理单独的读/写连接。有关更多信息,请查阅 文档

队列优先级

通过将逗号分隔的列表传递给 queue:listen 命令,现在支持队列优先级。

失败的队列作业处理

队列设施现在包括在使用新的 --tries 开关时自动处理失败作业的功能。有关处理失败作业的更多信息,请参见 队列文档

缓存标签

缓存“部分”已被“标签”取代。缓存标签允许您为缓存项分配多个“标签”,并刷新分配给单个标签的所有项。有关使用缓存标签的更多信息,请参见 缓存文档

灵活的密码提醒

密码提醒引擎已更改,以在验证密码、将状态消息闪烁到会话等方面提供更大的开发者灵活性。有关使用增强的密码提醒引擎的更多信息,请 查阅文档

改进的路由引擎

Laravel 4.1 具有完全重写的路由层。API 保持不变;然而,注册路由的速度比 4.0 快了 100%。整个引擎得到了极大的简化,并且对 Symfony 路由的依赖已最小化,仅限于编译路由表达式。

改进的会话引擎

通过此版本,我们还引入了一个全新的会话引擎。与路由改进类似,新的会话层更精简、更快速。我们不再使用 Symfony(因此也不再使用 PHP)的会话处理设施,而是使用一个更简单、更易于维护的自定义解决方案。

Doctrine DBAL

如果您在迁移中使用 renameColumn 函数,则需要将 doctrine/dbal 依赖项添加到您的 composer.json 文件中。此包不再默认包含在 Laravel 中。