HTTP响应实例教程 —— 基本使用、生成Cookie、返回视图、JSON/JSONP、文件下载及重定向

1、Response篇 1.1 基本响应 最基本的HTTP响应只需在路由闭包或控制器动作中返回一个简单字符串即可,但是具体业务逻辑中大部分响应都是在控制器动作中返回Response实例或者视图。Response是继承自 Symfony\Component\HttpFoundation\Response的 Illuminate\Http\Response类的一个实例,我们可以使用该实例上的…

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

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

[ Lumen 5.1 文档 ] 更多特性 —— 测试

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

[ Lumen 5.1 文档 ] 基础 —— HTTP 响应

1、基本响应 所有路由和控制器都会返回某种被发送到用户浏览器的响应,Lumen提供了多种不同的方式来返回响应,最基本的响应就是从路由或控制器返回一个简单的字符串: $app->get(‘/’, function () { return ‘Hello World’; }); 给定的字符串会被框架自动转化为HTTP响应。 但是大多数路由和控制器动作都会返回一个完整的Illuminate…

[ Lumen 5.1 文档 ] 基础 —— HTTP 请求

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

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

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

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

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

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

1、基本路由  大部分路由都定义在bootstrap/app.php文件载入的app/Http/routes.php中。 最基本的Lumen路由接收一个URI和一个闭包: $app->get(‘/’, function () { return ‘Hello World’; }); $app->post(‘foo/bar’, function () { return ‘Hell…

HTTP路由实例教程(二)—— 路由命名和路由分组

1、路由命名——给路由起个名字 1.1 基本使用 我们使用as关键字来为路由命名: Route::get(‘/hello/laravelacademy’,[‘as’=>’academy’,function(){ return ‘Hello LaravelAcademy!’; }]); 路由命名可以让我们在使用route函数生成指向该路由的URL或者生成跳转到该路由的重定向链接时更加…

HTTP路由实例教程(一)—— 基本使用及路由参数

1、路由基本使用示例 1.1 默认示例 Laravel中所有路由定义在/app/Http/routes.php文件中,该文件默认定义了应用的首页路由: Route::get(‘/’, function () { return view(‘welcome’); }); 这段代码的意思是:当访问应用首页http://laravel.app:8000(使用Homestead虚拟机作为开发环境)…