关于Request和Response在laravel5

查看了文档Input好像给Request取代了。但使用了一下文档里面的例子,如:

$uri = Request::path();

但完全不行。当初以为自动生成的controller里面use Illuminate\Http\Request;就是这个Request。可是却是用use Request;

于是我这样想两个Request有什么区别呢?毕竟在一个controller里面只能用一个Request。有研究的出来说说。
我发现 Illuminate\Http\Request是在依赖注入的时候用的$request。而use Request;是直接使用静态方法的。

而Response还在研究。。。
已邀请:

码农

赞同来自:

理解这个问题,需要先读一下这个文档
http://www.golaravel.com/laravel/docs/5.0/facades/
从Facades的角度来看 Input 和 Request是同义词,都是容器中 Illuminate\Http\Request 实例的静态代理,所以可以用静态方式调用

所谓”不好用、完全不行,被取代“之类的说辞,大多是因为Laravel 5用了命名空间,所以使用Facades要从全局空间引用

shirne

赞同来自:

感觉官方的文档说的很不清楚。
我用的lumen(不知道这个和laravel多大差别)

文档上说:所有的 facades 存在于全局命名空间
但是我直接 use Request 就提示类不存在
use Illuminate\Support\Facades\Request;

就会在调用静态方法的时候出错,实际还是没获取到$request实例。

在当前Controller的方法下用$request(参数里写了Request $request)是没有问题的

要回复问题请先登录注册