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)实际上是一种设计模式,用于以纯面向对象的方式对对象集合进行查询和操作(关于高阶消息传递,参考国外这篇文章)。 展示新功能特性的最好方式莫过于通过实例代码,假设你有一个集合并且想要...

在 Laravel 5.3 中使用官方扩展包 Scout + Algolia 实现全文搜索实例教程

今天,我来给大家演示下如何在Laravel 5.3中使用 Scout + Algolia 实现全文搜索。 Laravel 5.3 为我们提供了很多新特性,同时也引入了很多新的扩展包,今天我们就要用到 Laravel 5.3 提供的基于模型实现全文搜索的 Scout 扩展包。如果你想要在 Laravel 中实现全文搜索功能,那么最快捷的办法也就是使用这个扩展包。 在本教程中,我...

Laravel 5.3 新特性系列 —— 路由文件及路径修改

1、回顾Laravel 5.2中路由的修改 在 Laravel 5.2 的routes.php中我们可以看到路由被分割成两个路由群组:web和api,这样做的原因是基于中间件群组的理念:开箱即可拥有web和api两组路由。 web路由组提供了普通web用户所需的所有功能特性:如session、cookie、CSRF防护等等,相比之下,api路由组更加轻量级,只提供了throt...

Laravel 5.3 新特性系列 —— 更简单地自定义分页模板

分页是网站开发中的通用功能,需要花费大量的时间去实现,Laravel 提供的分页库很智能,以前,自定义分页模板很简单,但是从Laravel 5.0(或者更早?)开始,为了让Laravel的分页库可以在非Laravel框架中使用,引入了更加复杂、但移植性更好的分页模板系统。不过从Laravel 5.3开始,将重新返璞归真。 Laravel 中分页如何工作 如果你对Laravel...

Laravel 5.3 新特性系列 —— 新增上传图片尺寸验证规则

在 Laravel 5.3 中,新增了一个表单验证选项:上传图片的图片尺寸,该验证规则名称为 dimensions ,你可以传递如下参数到验证规则: min_width:宽度比这个尺寸窄的图片将会被拒绝 max_width:宽度比这个尺寸宽的图片将会被拒绝 min_height:高度比这个尺寸矮的图片将会被拒绝 max_height:高度比这个尺寸高的图片将会...

Laravel 5.3 新特性系列 —— Blade 模板新增 $loop 变量

什么是Blade指令? Laravel的Blade模板语言提供了指令功能,这些指令其实是一些自定义标签 —— 以@开头,通常用于控制结构。如果你用Blade写过模板,就会对形如@if、@foreach这些指令非常熟悉。 这些指令通常都是相应PHP代码的等价物,例如@if(condition)等价于<?php if($condition): $loop变量 在Lara...