Laravel 6.0 将新增为指定队列任务设置中间件的功能

Taylor Otwell 在 Laravel 6 中新增了为指定队列任务设置中间件的能力,以便我们在执行某些队列任务之前先执行一些业务逻辑: This [pull request] adds an easy way to have job specific middleware for queued jobs. Global job middleware were actually ...

Laravel 5.8 新特性系列 —— 编译后的 Blade 模板引入编译前模板文件路径以便调试

感谢 JetBrains 公司(PHPStorm 所属公司)Olga Strizhenko (@bzixilu) 的贡献,在 Laravel 5.8 中,编译后的 Blade 模板将会引入编译前的 Blade 视图模板文件路径: 这样一来,在 PHPStorm 中,我们就可以通过映射到原始 Blade 模板来对 Blade 进行 Debug。如果你对此感兴趣的话,可以与之相关的 iss...

Laravel 5.8 新特性系列 —— 支持策略类自动解析功能

Laravel 作者 Taylor Otwell 在 Twitter 宣布,从 Laravel 5.8 开始,只要策略类和对应模型类在 Laravel 框架默认约定的位置,就可以自动解析,而不必在 AuthServiceProvider 类中显式注册: 如果你定义的模型类或策略类不在默认约定的目录下,可以通过 Gate 自定义用于「查找」策略类的策略猜测逻辑: Gate::guessP...

Laravel 5.8 新特性系列 —— 废弃全局的字符串和数组相关辅助函数

在即将到来的 Laravel 5.8 发行版中,全局的字符串和数组相关辅助函数将会被废弃,并且在 Laravel 5.9 中被彻底移除,你可以在 PR #26898 中查看完整的被废弃赋值函数列表。 这些被废弃的辅助函数在以后的版本中会换一种引用方式,你需要通过 \Illuminate\Support\Str 和 Illuminate\Support\Arr 类来引用它们(这么做的根本...

Laravel 5.8 新特性系列 —— 缓存有效期单位调整

从 Laravel 5.8 开始,传递到缓存驱动的表示缓存有效期(TTL)的整型数据单位将会从分钟调整为秒,秒级缓存会使得开发者得以对缓存周期进行更加细粒度的控制,并且符合 PSR-16 标准: The Time To Live (TTL) of an item is the amount of time between when that item is stored, and i...

Laravel 5.7 新特性之优化动态调用 Eloquent 模型导致的错误消息

感谢 Bouncer 的开发者 Joseph Silber,在 Laravel 5.7 中,我们可以比以往更轻松地跟踪动态调用 Eloquent 模型导致的错误消息。 你将更清楚地了解具体由于哪个模型缺少方法导致出错,而不是底层对象上让人感到困惑的错误提示: 如果你对该特性的底层实现原理感兴趣,可以查看对应的 pull request 记录。这一功能对那些不了解 Eloquent 模型...

Laravel 5.7 新特性之引入 Laravel Dump Server 扩展包方便本地开发代码调试

在 Laracon US 2018 大会上 Taylor Otwell 宣布会在 Laravel 5.7 中引入 Laravel Dump Server 扩展包(该扩展包将 Symfony 的 Var-Dump Server 引入 Laravel,用于在开发环境收集 dump() 函数输出,并将其打印到控制台或导出到文件),作为开发环境依赖放到 composer.json 文件的 req...

Laravel 5.7 新特性系列之新的 URL 生成语法

感谢 Sebastian De Deyne,Laravel 5.7 支持了一种新的控制器动作 URL 生成语法,你之前有可能已经听过这种 URL 生成特性 —— 「元组符号」或者「可调用数组语法」: $url = action([PostsController::class, 'index']); 在当前版本(Laravel 5.6)URL 辅助函数只支持这种风格的控制器动作 URL ...

Laravel 5.7 新特性系列之 resources 目录调整

Taylor Otwell 近日在 Twitter 宣布在 Laravel 5.7 中 resources 目录将会做以下调整: 也就是将 js 和 saas 目录从 assets 子目录下移动到 resources 根目录下,然后将 assets 子目录移除。 在 Laravel 5.6 下,resources 目录结构如下: resources ├── assets │ ├──...

Laravel 5.4 新特性系列 —— 新增对集合元素的高阶消息传递支持

Laravel 5.4 正处于开发进行时,随着新版本代码的合并,一些新的功能特性也随之泄露。其中之一就是对集合进行高阶消息传递的支持。所谓高阶消息传递(Higher Order Messaging)实际上是一种设计模式,用于以纯面向对象的方式对对象集合进行查询和操作(关于高阶消息传递,参考国外这篇文章)。 展示新功能特性的最好方式莫过于通过实例代码,假设你有一个集合并且想要...