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...

Laravel 5.3 新特性系列 —— 深入探讨 Laravel Echo 使用:实时聊天室

1、什么是 Laravel Echo Echo是一个让我们在Laravel应用中轻松实现WebSockets(关于WebSockets工作原理和机制可参考这篇文章:WebSocket 实战)功能的工具,同时简化了构建复杂WebSockets交互中更加通用、复杂的部分。 注:Echo 还处于开发阶段,本教程代码和最终发布版本可能会有出入,望知悉。 Echo 由两部分组成:针对La...

Laravel 5.3 查询构建器方法 where/update 新增 JSON 属性操作语法

从 5.0 版本起 Laravel 就支持 JSON 格式数据的转换,之前这样做的目的只是为了方便业务处理,数据存储在数据库的数据类型依然是 TEXT,但是 MySQL 5.7 版本起开始支持原生的 JSON 数据类型,这将为我们的开发带来极大方便。Laravel 5.3 也为基于 JSON 类型的数据查询和更新引入了新的语法。 假设我们有一个包含 JSON 类型字段的数据...

Laravel 5.3 新增全局辅助函数 cache() 用法一览

自从来到贝贝后,工作越来越忙,已经做不到一日一更了,一个星期能做到三篇更新就很不容易了,惭愧。。。 今天我们来看一看 Laravel 5.3 中新增的一个辅助函数:cache。 这个辅助函数和另外两个辅助函数很相似:session和cookie,它们都有三个用法:获取值,设置值以及返回对应服务的实例,以session为例: session('abc', nul...

Laravel 5.2 新特性系列 —— 中间件组的定义及使用

不管你创建的Laravel应用体量有多大,路由文件routes.php的体积都会随之变得越来越大。对我而言创建一个新应用首先要做的就是根据业务逻辑对路由文件进行拆分和分组,比如“admin”、“auth”、“public”等。通常分组的每个部分都有其对应的中间件设置,例如,admin会用到一个auth中间件,API分组可能会有不同的auth中间件,并且会有指定的限制访问频率的中间件。 ...

Laravel 5.2 新特性系列 —— 访问频率限制中间件throttle的使用

1、访问频率限制概述频率限制经常用在API中,用于限制独立请求者对特定API的请求频率。例如,如果设置频率限制为每分钟1000次,如果一分钟内超过这个限制,那么服务器就会返回 429: Too Many Attempts.响应。通常,一个编码良好的、实现了频率限制的应用还会回传三个响应头: X-RateLimit-Limit, X-RateLimit-Remaining和 Retry-A...

Laravel 5.2 新特性系列 —— 隐式路由模型绑定功能实现

Laravel 5.1 中已经提供了路由模型绑定功能,而在 Laravel 5.2中,这一功能实现变得更加简单。 1、路由模型绑定的基本使用 通常我们在URL路由中通过如下方式绑定模型: Route::group(['middleware' => ['web']], function () { Route::get('/user/{id}',function($id...