[ Laravel 5.3 文档 ] HTTP层 —— 路由

1、基本路由 最基本的 Laravel 路由只接收一个 URI 和一个闭包,并以此提供一个非常简单且优雅的定义路由方法: Route::get(‘foo’, function () { return ‘Hello World’; }); 默认路由文件 所有Laravel路由都定义位于routes目录下的路由文件中,这些文件通过框架自动加载。routes/web.php文件定义了web界面…

Laravel 5 控制器如何实现基于自身的中间件

声明:本文由夭℃~空投稿,未经作者许可,禁止转载! 这个想法的产生背景是在我碰到一个实际需求的时候。当时我碰到了这么一个需求: 首先我有很多模块,每个模块都有一个鉴权方式。 我本来想用中间件来做,但是随即发现,由于每个模块的过滤方式不一样导致中间件的数量一下子增加了很多。而且,由于中间件的分离到了中间件的文件夹去,且并不能实现中间件的复用价值。所以,我抛弃了使用中间件的方法。 这个时候,…

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

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

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

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

[ Lumen 5.2 文档 ] 基础 —— HTTP 控制器

1、简介 将所有的请求处理逻辑都放在单个routes.php中肯定是不合理的,你也许还希望使用控制器类组织管理这些行为。控制器可以将相关的HTTP请求封装到一个类中进行处理。通常控制器存放在app/Http/Controllers目录中。 2、基本控制器 下面是一个基本控制器类的例子。所有的Lumen控制器应该继承自Lumen安装默认的基本控制器: <?php namespace …

[ Lumen 5.2 文档 ] 基础 —— HTTP 中间件

1、简介 HTTP中间件提供了一个便利的机制来过滤进入应用的HTTP请求。例如,Lumen包含了一个中间件来验证用户是否经过授权,如果用户没有经过授权,中间件会将用户重定向到登录页面,否则如果用户经过授权,中间件就会允许请求继续往前进入下一步操作。 当然,除了认证之外,中间件还可以被用来处理更多其它任务。比如:CORS中间件可以用于为离开站点的响应添加合适的头(跨域);日志中间件可以记录…

[ Lumen 5.2 文档 ] 基础 —— HTTP 路由

1、基本路由  所有路由都定义在app/Http/routes.php中。最基本的 Lumen 路由接收一个 URI 和一个闭包: $app->get(‘foo’, function () {     return ‘Hello World’; }); $app->post(‘foo’, function () {     // }); 有效的路由方法 路由器允许你注册响应任…

[ Laravel 5.2 文档 ] 新手入门指南 —— 带用户功能的任务管理系统

1、简介 本进阶指南提供了对Laravel框架更深入的介绍,包括数据库迁移、Eloquent ORM、路由、认证、授权、依赖注入、验证、视图以及Blade模板。如果你对Laravel框架或其他PHP框架已经有了基本的认识,本章节将是你新的起点,如果你完全还是新手,请从新手入门指南开始。 本节的示例仍然是构建一个任务系统,但是在上一节基础上,本任务系统将允许用户注册登录,同样完整的代码已经…

Laravel 中管道设计模式的使用 —— 中间件实现原理探究

所谓管道(Pipeline)设计模式就是将会数据传递到一个任务序列中,管道扮演者流水线的角色,数据在这里被处理然后传递到下一个步骤。 使用管道使用很多好处的,尤其是在单个任务中编写复杂处理代码时管道为我们提供了极大的便利,而且可以在管道中轻松添加、移除或者替换阶段任务。 Laravel 在框架中的很多地方用到了 Pipeline 设计模式,这意味着所有我们需要实现管道设计模式的地方已然是…

[ Laravel 5.2 文档 ] 基础 —— HTTP 控制器

1、简介 将所有的请求处理逻辑都放在单个 routes.php 中显然是不合理的,你也许还希望使用控制器类组织管理这些行为。控制器可以将相关的 HTTP 请求封装到一个类中进行处理。通常控制器存放在 app/Http/Controllers 目录中。 2、基本控制器 下面是一个基本控制器类的例子。所有的 Laravel 控制器应该继承自 Laravel 自带的控制器基类 Controll…