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

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

基于Laravel开发博客应用系列 —— 后台文章增删改查功能实现(支持Markdown)

本节我们将会完成博客后台管理系统的文章发布功能:我们将会继续完善 posts 表迁移、引入一些额外前端资源、并实现文章创建、修改和删除。 1、修改 posts 表 我们在十分钟创建博客应用中已经创建了posts 表迁移,现在要对其进行修改和完善。 安装 Doctrine 依赖包 在 Laravel 5.1 中如果需要修改数据表的列,则需要安装 Doctrine 依赖包,我们使用 Comp…

Laravel 5.1 中 Session 数据存储、访问、删除及一次性Session实例教程

1、Session的由来及其实现 HTTP协议是无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系的。也就是说我们无法在服务器端确认两次请求是否是同一个用户所为,这为我们在一些应用场景中实现在多次请求间记住用户状态带来麻烦,比如电子商务网站,用户浏览商品、加入购物车、下单、购买需要多个请求才能完成,如果在这些请求之间无法记住用户状态,根本无法完成正常的购买行为,为此,引入了Se…

Laravel 队列系列 —— 基于 Redis 实现任务队列的基本配置和使用

1、概述 在Web开发中,我们经常会遇到需要批量处理任务的场景,比如群发邮件、秒杀资格获取等,我们将这些耗时或者高并发的操作放到队列中异步执行可以有效缓解系统压力、提高系统响应速度和负载能力。 实现队列有多种方式,Laravel也支持多种队列实现驱动,比如数据库、Redis、Beanstalkd、IronMQ及Amazon SQS等,此外还支持同步方式实现队列(默认),甚至将队列驱动设置…

Laravel 5.x 启动过程分析

1、初始化Application 1.1 注册基本绑定 app -> Application实例(Illuminate\Foundation\Application) Illuminate\Container\Container -> Application实例(Illuminate\Foundation\Application) 1.2 注册基本服务提供者并启动 Event…

HTTP 请求实例教程 —— 获取请求数据、Cookie及文件上传处理

1、获取Request请求实例 Laravel中一般通过控制器方法依赖注入来获取当前请求的Request实例。 我们通过定义一个隐式控制器来进行本章节的测试。首先我们在routes.php定义路由如下: Route::controller(‘request’,’RequestController’); 然后我们在app/Http/Controllers下创建一个控制器RequestCon…

[ Laravel 5.1 文档 ] 服务 —— 用户授权

1、简介 除了提供“开箱即用”的认证服务之外,Laravel还提供了一个简单的方式来管理授权逻辑以便控制对资源的访问权限。在Laravel中,有很多种方法和帮助函数来协助你管理授权逻辑,本文档将会一一覆盖这些方法。 注意:授权在Laravel 5.1.11版本中引入,在将该特性集成到应用之前请参考升级指南。 2、定义权限(Abilities) 判断用户是否有权限执行给定动作的最简单方式就…

中间件实例教程 —— 中间件的创建使用及中间件参数定义

1、中间件简介 Laravel中可以把HTTP中间件看做“装饰器”,在请求到达最终动作之前对请求进行过滤和处理。 中间件在Laravel中有着广泛的应用,比如用户认证、日志、维护模式、开启Session、从Session中获取错误信息,以及上一篇教程中提到的CSRF验证,等等。 中间件类默认存放在app/Http/Middleware目录下。 2、中间件创建及其使用 我们在《HTTP路由…

HTTP路由实例教程(三)—— CSRF攻击原理及其防护

1、什么是CSRF攻击 CSRF是跨站请求伪造(Cross-site request forgery)的英文缩写。关于CSRF攻击原理及其防护,可查看Github上的这个项目:理解CSRF,说得比较详细和透彻。 2、Laravel中如何避免CSRF攻击 Laravel框架中避免CSRF攻击很简单:Laravel自动为每个用户Session生成了一个CSRF Token,该Token可用于…

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

1、简介 Lumen提供了多种方法来验证应用输入数据。默认情况下,Lumen的控制器基类使用ValidatesRequests trait,该trait提供了便利的方法通过各种功能强大的验证规则来验证输入的HTTP请求。 2、快速入门 要学习Lumen强大的验证特性,让我们先看一个完整的验证表单并返回错误信息给用户的例子。 2.1 定义路由 首先,我们假定在app/Http/routes…