The error message is due to the call not going through the Request
facade.
Change
use Illuminate\Http\Request;
To
use Request;
它应该开始工作了。 |
欢迎各位兄弟 发布技术文章
这里的技术是共享的
$input = Request::all();
on a store()
method in my controller, but I'm getting the following error:Non-static method
Illuminate\Http\Request::all()
should not be called statically, assuming$this
from incompatible context
Any help figuring out the best way to correct this? (I'm following a Laracast)
正确答案
124 | The error message is due to the call not going through the Change
To
|
在config / app.php文件中,您可以找到类别名列表。在那里,你会看到基类 编辑由于这个问题似乎有些流量,因此Laravel 5正式发布后,我想更新一下答案。 尽管上述内容在技术上仍然正确并将起作用,但 当将Request对象注入到构造函数(或方法,如Laravel 5中可用)中时,它是 所以,而不是更改控制器模板来使用请求外观,最好建议使用给定的控制器模板,并转向使用依赖注入(通过构造函数或方法)。 示例通过方法
示例通过构造函数
| |
2 答案是正确的,不过不喜欢我会使用Illuminate \ Support \ Facades \ Request; 因为我个人认为Laravel将所有内容都混淆到根命名空间的习惯是反对命名空间的首先。它也使API文档更难生成,因为apigen / phpdoc将无法找到“Request”类。 - delatbabel Feb 18 '15 at 2:08 2 实际上,您不需要更换手工制作的控制器。如果要使用Request而不注意该方法,只需使用$ input = \ Request :: all()(注意\)。如果你想使用注入而不是使用public myFunction(Request $ request(){$ input = $ request-> all()}或注入到构造函数中并将其分配给一个类变量 - shock_gone_wild Feb 26 '15 at 18: 50 2 为什么我在使用Request::all();时不能使用use Illuminate\Http\Request; ? - SA__ 9月9日,15日11:25 @SA__请求:: all()是一种外观方式。所以你必须 use Illuminate\Support\Facades\Request; ,而不是use Illuminate\Http\Request; - Thabung 1月25日'16 12:21 @redA有没有办法将Request :: all()转换为直接使用(而不是通过facade类)? - |
6 | 使用Laravel的魔法注入将请求对象注入控制器,然后非静态访问该功能。Laravel会自动将具体的依赖关系注入自动加载的类
| ||
添加评论 |
1 |
在上下文中是一样的
|