Cra*_*ode 19 php laravel-5 laravel-facade
基于Input Facade API和Request Facade API,Input :: get()方法似乎是唯一的区别.我在这里错过了什么吗?
我知道验证可以应用于请求,但我不确定输入外观是否也是如此.
luk*_*ter 26
是的两个外墙非常相似.原因是底层类是相同的(Illuminate\Http\Request).你可以通过查看Facade类及其访问器来看到这一点:
Illuminate\Support\Facades\Input
protected static function getFacadeAccessor()
{
return 'request';
}
Run Code Online (Sandbox Code Playgroud)
Illuminate\Support\Facades\Request
protected static function getFacadeAccessor()
{
return 'request';
}
Run Code Online (Sandbox Code Playgroud)
正如您所意识到的,一个区别是Input::get()方法.这只是Request::input()直接在Facade中"翻译" :
public static function get($key = null, $default = null)
{
return static::$app['request']->input($key, $default);
}
Run Code Online (Sandbox Code Playgroud)
它们基本相同.这意味着,无需更改现有代码.但是,如果你想它不会有任何区别.
在编写新代码时,您应该使用Request.Input在5.0的文档中没有提到.它(官方)不被弃用,但Request鼓励使用.
我真正喜欢的Request是Facade实际上具有底层类的名称.通过这种方式,您可以清楚地了解您正在处理的内容.然而,这也可能是错误的根源.如果你使用类似Request::input('name')确保导入门面use Request;或者use Illuminate\Support\Facades\Request和没有 use Illuminate\Http\Request.相反的情况适用于依赖注入.
| 归档时间: |
|
| 查看次数: |
9071 次 |
| 最近记录: |