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

Laravel 5.2 新特性系列 —— 表单数组输入验证功能实现

Laravel 5.2 新增表单数组输入验证,听起来很懵?下面我们以一个具体例子来演示这一功能。 首先在routes.php定义相应路由: Route::get('form','TestController@form'); Route::post('form/validate','TestController@validate'); 然后使用Artisan命令创建对应控制器:...

Laravel 5.2 新特性系列 —— 多用户认证功能实现详解

Laravel 5.2新增多用户认证支持,即同时允许不同数据表用户(如前台用户、后台用户)登录认证。下面我们就来简单介绍多用户登录及注册功能实现。 1、生成认证脚手架 首先我们使用Laravel 5.2提供的认证脚手架完成初始化工作: php artisan make:auth 该Artisan命令会生成用户认证所需的路由、视图以及HomeController: 去...

[ Lumen 5.2 文档 ] 更多特性 —— 验证

1、简介 Lumen提供了多种方法来验证应用输入数据。默认情况下,Lumen的控制器基类使用ValidatesRequests trait,该trait提供了便利的方法通过各种功能强大的验证规则来验证输入的HTTP请求。 2、与Laravel的不同之处 大多数情况下,Lumen中的验证实现和Laravel一样,可以通过完整的Laravel验证文档了解更多实现细节,但是两者之间还是有...

[ Lumen 5.2 文档 ] 更多特性 —— 单元测试

1、简介 Lumen植根于测试,实际上,使用PHPUnit对测试提供支持是开箱即用的,并且测试配置文件phpunit.xml已经为应用设置好了。框架还提供了很多辅助函数从而允许你对应用进行更加富有表现力的测试。 tests目录中提供了一个ExampleTest.php文件,安装完新的Lumen应用后,只需简单在命令行运行phpunit即可运行测试。 1.1 测试环境 Lume...

[ Lumen 5.2 文档 ] 更多特性 —— 服务提供者

1、简介 服务提供者是Lumen应用启动的中心,你自己的应用以及所有Lumen的核心服务都是通过服务提供者启动。 但是,我们所谓的”启动“指的是什么?通常,这意味着注册对象,包括注册服务容器绑定、事件监听器、中间件甚至路由。服务提供者是应用配置的中心。 如果你打开Lumen自带的bootstrap/app.php文件,将会看到一个$app->register()调用,...

[ Lumen 5.2 文档 ] 更多特性 —— 服务容器

1、简介 Laravel 服务容器是一个用来管理类依赖和执行依赖注入的强大工具,所谓依赖注入指的是依赖类通过构造函数或“setter”方法注入到代码中。 2、与Laravel的不同之处 Lumen和Laravel框架使用同样的服务容器,所以关于服务容器的完整文档,请参考完整的Laravel服务容器文档。 访问容器 Laravel\Lumen\Application实例继承自Il...

[ Lumen 5.2 文档 ] 更多特性 —— 队列

1、简介 Lumen队列服务为各种不同的后台队列驱动提供了统一的API。队列允许你延迟耗时任务(例如发送邮件)的执行,从而大幅提高web请求的响应速度。 1.1 配置 队列配置选项位于.env文件。 1.2 队列驱动预备知识 数据库 要使用database作为队列驱动,需要一张数据库表来存放任务: Schema::create('jobs', function (Bluep...

[ Lumen 5.2 文档 ] 更多特性 —— 事件

1、简介 Lumen事件提供了简单的观察者模式实现,允许你订阅和监听应用中的事件。事件类通常存放在app/Events目录,监听器存放在app/Listeners。 2、和Laravel的区别 通常,Lumen中的事件函数和Laravel几乎一样,所以关于其使用可参考Laravel事件文档。Lumen也支持事件广播,从而允许你在客户端JavaScript中监听服务器端的事件。需要指...