[ Laravel 5.2 文档 ] 服务 —— 测试

1、简介 Laravel 植根于测试,实际上,内置使用PHPUnit对测试提供支持是即开即用的,并且phpunit.xml文件已经为应用设置好了。框架还提供了方便的辅助方法允许你对应用进行富有表现力的测试。 tests 目录中提供了一个 ExampleTest.php 文件,安装完新的 Laravel 应用后,只需简单在命令行运行phpunit来运行测试。 1.1 测试环境 运行测试的时…

[ Laravel 5.2 文档 ] 架构 —— 一次请求的生命周期

1、简介 当我们使用现实世界中的任何工具时,如果理解了该工具的工作原理,那么用起来就会得心应手,应用开发也是如此。当你理解了开发工具如何工作,用起来就会更加游刃有余。 本文档的目标就是从一个更好、更高层面向你阐述 Laravel 框架的工作原理。通过对框架更全面的了解,一切都不再那么神秘,你将会更加自信的构建应用。 如果你不能马上理解所有这些条款,不要失去信心!先试着掌握一些基本的东西,…

PHP 设计模式系列 —— 责任链模式(Chain Of Responsibilities)

1、模式定义 责任链模式将处理请求的对象连成一条链,沿着这条链传递该请求,直到有一个对象处理请求为止,这使得多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。 责任链模式在现实中使用的很多,常见的就是 OA 系统中的工作流。 2、UML 类图 3、示例代码 Request.php <?php namespace DesignPatterns\Behavioral…

[ Laravel 5.2 文档 ] 基础 —— HTTP 请求

1、访问请求实例 通过依赖注入获取当前 HTTP 请求实例,应该在控制器的构造函数或方法中对 Illuminate\Http\Request 类进行类型提示,当前请求实例会被服务容器自动注入: <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Routing\Contr…

[ 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…