关于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还在研究。。。
$uri = Request::path();
但完全不行。当初以为自动生成的controller里面use Illuminate\Http\Request;就是这个Request。可是却是用use Request;
于是我这样想两个Request有什么区别呢?毕竟在一个controller里面只能用一个Request。有研究的出来说说。
我发现 Illuminate\Http\Request是在依赖注入的时候用的$request。而use Request;是直接使用静态方法的。
而Response还在研究。。。
2 个回复
码农
赞同来自:
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)是没有问题的