Php Laravel输入外观与请求外观

Php Laravel输入外观与请求外观,php,laravel-5,laravel-facade,Php,Laravel 5,Laravel Facade,基于和Input::get()方法似乎是唯一的区别。我是不是遗漏了什么 我知道验证可以应用于请求,但我不确定输入外观是否也是如此。是的,两个外观非常相似。原因是基础类是相同的(illighte\Http\Request)。您可以通过查看Facade类及其访问器来了解这一点: light\Support\Facades\Input protected static function getFacadeAccessor() { return 'request'; } light\Suppo

基于和Input::get()方法似乎是唯一的区别。我是不是遗漏了什么


我知道验证可以应用于请求,但我不确定输入外观是否也是如此。

是的,两个外观非常相似。原因是基础类是相同的(
illighte\Http\Request
)。您可以通过查看Facade类及其访问器来了解这一点:

light\Support\Facades\Input

protected static function getFacadeAccessor()
{
    return 'request';
}
light\Support\Facades\Request

protected static function getFacadeAccessor()
{
    return 'request';
}

正如您所意识到的,一个区别是
Input::get()
方法。这只是在外观中直接“转换”为
Request::input()

public static function get($key = null, $default = null)
{
    return static::$app['request']->input($key, $default);
}

结论 它们本质上是一样的。这意味着,不需要更改现有代码。然而,如果你想,这不会有任何区别

编写新代码时,应使用
Request
<代码>输入在5.0的文档中没有提及。它没有(正式)被弃用,但鼓励使用
Request


关于
Request
,我真正喜欢的是Facade实际上有底层类的名称。这样你就清楚你在处理什么了。然而,这也可能是错误的根源。如果您使用类似于
Request::input('name')
的东西,请确保使用
use Request导入外观
使用照明\Support\Facades\Request
不使用照明\Http\Request。相反的情况适用于依赖项注入。

谢谢。你的回答也是我的问题