Laravel 5.1 发布
发布于 作者: Eric L. Barnes
Laravel 刚刚宣布立即推出 v5.1。这标志着 Laravel 历史上第一次提供长期支持的版本。让我们看看一些新功能,并从 Taylor Otwell 那里了解更多信息。
长期支持
自 2011 年最初推出以来,Laravel 一直遵循开源应用程序中流行的“早发布,常发布”的理念。随着框架人气飙升,是时候开始关注大型组织和任务关键型应用程序的需求了,这些应用程序需要安全修复,但不能快速升级。Laravel 5.1 将提供 3 年的安全修复。
长期支持可以说是 5.1 中最大的功能,但它还包含几个其他新功能。
新文档
文档已完全重新设计,以提供更多清晰度,更深入的内容以及更流畅的流程。这是一项巨大的工作,花费了无数小时来微调每个页面。
当被问及在文档上花费如此多的时间是否值得时,Taylor 说他宁愿推迟整个 Laravel 版本的发布,也不愿发布文档质量差的版本。另一个新的文档功能是实时搜索,并带自动完成功能。
PSR-2
应用程序和生成器已转换为PSR-2。与当前 Laravel 风格最大的区别在于,制表符变成了空格,控制结构现在将位于同一行。
从 Blade 模板中解析服务
您现在可以直接从 Blade 模板中解析服务。
@extends('layouts.app')@inject('stats', 'StatisticsService')<div>{{ $stats->getCustomerCount() }}</div>
广播事件
Laravel 已经包含一个强大的事件系统,这个新功能在此基础上构建,允许您通过 Websocket 广播事件,以便您的客户端可以消费这些事件。有了这个新功能,创建实时应用程序变得非常简单。
更好的应用程序单元测试
通过包含 Laracast 的集成测试包,测试您的应用程序将比以往任何时候都容易。
public function testNewUserRegistration(){ $this->visit('/register') ->type('Taylor', 'name') ->check('terms') ->press('Register') ->seePageIs('/dashboard');}
要深入了解这些功能,以及更多,请查看Laracasts 视频系列,以及Matt Stauffer 编写的教程。
***
与 Taylor Otwell 的问答
我有机会与 Taylor Otwell 坐下来,询问他关于这个版本以及它对我们 Laravel 开发人员意味着什么。
5.1 中最大的变化之一是,这将是 Laravel 的第一个 LTS 版本。您能告诉我们它是如何工作的吗?
这是 Laravel 的第一个 LTS(长期支持)版本。这意味着 Laravel 5.1 将获得 2 年的错误修复和 3 年的安全修复。LTS 版本将每 2 年发布一次,这意味着下一个 LTS 版本将于 2017 年 5 月发布。具有长期支持的 Laravel 版本为需要确保几年内持续修复错误的开发工作室或客户提供了更多安心。
您在重写整个文档方面投入了大量时间。您认为这将有助于推动 Laravel 的采用吗?
良好的文档是任何开源项目最关键的方面之一。然而,它经常被忽视或推迟到发布之后。如果我能给项目维护者一个建议,那就是永远不要发布没有充分文档的任何东西。我宁愿推迟整个 Laravel 版本的发布,也不愿发布文档质量差的版本。我认为改进的文档将推动更多人采用 Laravel。当然,我一直都有秘密武器,我很快将在这一领域宣布更多内容。继续让 Laravel 的学习变得愉快是我最大的热情之一。
在所有新功能中,您最自豪的是哪一个,您认为哪一个是最重要的?
说实话,我认为文档是 Laravel 5.1 中我最自豪的“功能”。它好多了。就技术功能而言,我喜欢事件广播。实现它不需要太多代码,但它使用起来非常方便,并且简化了开始构建实时应用程序的过程。中间件参数是 Laravel 5.1 的另一个重大补充,它实际上是由社区成员实现的。同样,这是一个实现起来不需要太多代码的功能,但会让很多用户感到非常高兴。
Laravel 5.1 还引入了 PSR-2。很多人抱怨这件事应该早点做。您对此有何看法?
在一个贡献活动非常多的项目中引入新的编码风格非常困难。在我开始全职从事 Laravel 工作之前,经常会有数百个开放的 pull 请求。在那时将整个项目转换为 PSR-2 将意味着要重新整理每个开放的 pull 请求。现在我全职从事这个项目,整个 Laravel GitHub 组织中可能只有 20-30 个开放的 pull 请求,这更容易管理。所以,这是采用 PSR-2 的绝佳机会,我已经开始享受使用简单的 Sublime Text 构建命令来格式化我的所有代码了。
您在创建 Laravel 时是否仍然坚持最初的目标?
在所有 Laravel 版本中,我认为 Laravel 5.1 是我最喜欢的版本。它简化并改进了 Laravel 5.0 中引入的很多内容。首先,我认为它通过将“Commands”重命名为“Jobs”使文件夹结构更“人性化”,并从复杂的“Handlers”目录结构转移到事件监听器简单、单一的“Listeners”目录。事件广播是经典的 Laravel 功能。要通过 Pusher 或 Redis 广播您的事件,您只需在您的事件类中添加一个“ShouldBroadcast”接口。就这样。我喜欢简单优雅的小功能。中间件参数改进了 5.0 中引入的原始中间件,使它们与 Laravel 4.x 路由“过滤器”一样强大。
我相信,在 Laravel 产品系列的庇护下,您会花费很多时间,但现在 5.1 已经发布,您今年剩余时间有什么计划?
我目前的计划是改进一些Forge 功能。我想内置 AWS 支持,并改进环境变量管理,使其更类似于Envoyer。我还正在做一些事情,让 Laravel 的学习变得更加容易。
***
下一步去哪里
前往新的官方文档,其中包含有关安装、升级和所有框架功能的所有内容。
当然,订阅我们的每周Laravel 新闻通讯,随时了解框架的所有新提示、教程和新闻。