跳到主要内容
版本:4.2

更新记录

Laravel 4.2

通过在4.2版本的安装目录下执行 php artisan changes 可以获取此次版本的完整更新列表,或者 查看Github 上的更新记录。此记录只含括当前版本的主要功能改进和变更。

提示

在 4.2 发布周期内,许多小的BUG修正与功能强化被整合至各个 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

Larvel Forge是一个 Web 应用程序,它提供了一个简单的接口去建立、管理您云端上的 PHP 服务器,如 Linode, DigitalOcean, Rackspace 和 Amazon EC2。支持自动化 nginx 设定、SSH 密钥管理、Cron job 自动化, 通过 NewRelic 或者 Papertrail 进行服务器监控,"Push To Deploy", Laravel queue worker 设定等等。Forge 提供最简单且更实惠的方式来部署所有您的 Laravel 应用程序。

默认在 Laravel 4.2 的安装里, app/config/database.php 配置文件已为 Forge 设定完成,能让新应用在平台上的更方便的部署更加方便。

关于 Laravel Forge 的更多信息可以在官方 Forge 网站上找到。

Laravel Homestead

Laravel Homestead 是一个为开发强壮的 Laravel 和 PHP 应用程序的所提供的官方 Vagrant 环境,是一个离线的,预先打好包的Vagrant box。绝大多数的 box 依赖软件在发布前已经部署处理完成,这让box可以极快的被启用。Homestead 包含 Nginx 1.6, PHP 5.6, MySQL, Postres, 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 的订阅帐务。虽然在安装中此组件是选用状态,我们仍将Cashier文件包含在主要 Laravel 文件中。此发布版本修复了多个错误、支持多货币还有支持最新的 Stripe API。

Queue Workers 常驻软件

Artisan queue:work 命令现在支持 --daemon 参数让 worker 可以以"常驻软件"启用。代表 worker 可以持续的处理队列工作不需要重启框架。这让一个复杂的应用程序部署过程中,使得 CPU 的使用有显著的降低。

更多关于 Queue Workers 常驻软件信息请阅读 queue 文件

Mail API Drivers

Laravel 4.2 为 Mail 函数采用了新的 Mailgun 和 Mandrill API 驱动。对许多应用程序而言,他提供了比 SMTP 更快也更可靠的方法来发送邮件。新的驱动使用了 Guzzle 4 HTTP 资源库。

软删除 Traits

对于软删除和全作用域更简洁的方案 PHP 5.4 的 traits 提供了一个更加简洁的软删除架构和全局作用域, 这些新架构为框架提供了更有扩展性的功能, 并且让框架更加简洁.

更多关于软删除的文档请见: Eloquent documentation.

更为方便的 认证(auth) & Remindable Traits

得益于 PHP 5.4 traits , 我们有了一个更简洁的 用户认证 和 密码提醒接口, 这也让 User 模型文件更加精简.

"简易分页"

一个新的 simplePaginate 方法已被加入到查询以及 Eloquent 查询器中。让您在分页视图中,使用简单的"上一页"和"下一页"链接查询更为高效。

迁移确认

在正式环境中,破坏性的迁移动作将会被再次确认。如果希望取消提示字串确认请使用 --force 参数。

Laravel 4.1

完整更新列表

通过在4.1版本的安装目录下执行 php artisan changes 来获取此次版本的完整更新列表,或者 查看Github 上的更新纪录。此纪录只含括当前版本的主要功能改进和变更。

新的 SSH 组件

一个全新的 SSH 组件在此发行版本中登场。此功能让您可以轻易的 SSH 至远程服务器并执行命令。更多信息,可以参阅 SSH 组件文件

新的 php artisan tail 命令就是使用这个新的 SSH 组件。更多的信息,请参阅 tail 命令集文件

Boris In Tinker

如果您的系统支持 Boris REPLphp artisan thinker 命令将会使用到它。系统中也必须先行安装好 readlinepcntl 两个 PHP 扩展包。如果您没这些扩展包,从 4.0 之后将会使用到它。

Eloquent 强化

Eloquent 新增了新的 hasManyThrough 关系链。想要了解更多,请参见 Eloquent 文件

一个新的 whereHas 方法也同时登场,他将允许检索基于关系模型的约束

数据库读写分离

Query Builder 和 Eloquent 目前通过数据库层,已经可以自动做到读写分离。更多的信息,请参考文件

队列优先级

支持通过在 queue:listen 后面传递一组以逗号分隔的列表来指定队列优先级。

失败队列工作处理

现在队列将会自动处理失败的工作,只要在 queue:listen 后加上 --tries 即可。更多的失败工作处理可以参见 队列文件

缓存标签

缓存“区块”已经被“标签”取代。缓存标签允许您将多个“标签”指向同一个缓存对象,而且可以清空所有被指定某个标签的所有对象。更多使用缓存标签信息请见缓存文件

更具弹性的密码提醒

密码提醒引擎已经可以提供更强大的开发弹性,如:认证密码,显示状态信息等等。使用强化的密码提醒引擎,更多的信息请参阅文件

强化路由引擎

Laravel 4.1 拥有一个完全重新编写的路由层。API 一样不变。然而与 4.0 相比,速度快上 100%。整个引擎大幅的简化,且对于路由表达式的编译大大减少对 Symfony Routing 的依赖。

强化 Session 引擎

此发行版本中,我们亦发布了全新的 Session 引擎。如同路由增进的部分,新的 Session 曾更加简化且更快速。我们不再使用 Symfony 的 Session 处理工具,并且使用更简单、更容易维护的自定义解法。

Doctrine DBAL

如果您有在您的迁移中使用到 renameColumn,之后您必须在 composer.json 里加入 doctrine/dbal 扩展包。此扩展包不再默认包含在 Laravel 之中。