该错误消息是由于呼叫未通过
Request立面而导致的。
更改
use IlluminateHttpRequest;
至
use Request;
它应该开始工作。
在config /
app.php文件中,您可以找到类别名的列表。在那里,您将看到基类
Request已被别名为
IlluminateSupportFacadesRequest该类。因此,要
Request在命名空间文件中使用外观,您需要指定使用基类:
useRequest;。编辑
由于这个问题似乎吸引了一些访问者,自Laravel 5正式发布以来,我想对答案进行一些更新。
尽管以上内容在技术上仍然正确并且可以使用,但该
useIlluminateHttpRequest;语句包含在新的Controller模板中,以帮助推动开发人员朝着使用依赖项注入而不是依赖Facade的方向发展。
当将Request对象注入构造函数(或方法,如Laravel
5中可用)时,
IlluminateHttpRequest应该注入的是对象,而不是
Request立面。
因此,最好不要使用Controller模板以使其与Request门面配合使用,而是建议使用给定的Controller模板并转向使用依赖项注入(通过构造函数或方法)。
方法示例
<?php namespace AppHttpControllers;use AppHttpControllersController;use IlluminateHttpRequest;class UserController extends Controller { public function store(Request $request) { $name = $request->input('name'); }}
通过构造函数的例子
<?php namespace AppHttpControllers;use AppHttpControllersController;use IlluminateHttpRequest;class UserController extends Controller { protected $request; public function __construct(Request $request) { $this->request = $request; } public function store() { $name = $this->request->input('name'); }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)