laravel 5 - crear - Laravel Input Facade vs Request Facade
laravel request input (1)
Basado en la API Input Facade y Request Facade API, el método Input :: get () parece ser la única diferencia. ¿Me estoy perdiendo de algo?
Sé que la Validación se puede aplicar a las Solicitudes, pero no estoy seguro si lo mismo es cierto para la Fachada de Entrada.
Sí, ambas fachadas son muy similares. La razón para esto es que la clase subyacente es la misma ( Illuminate/Http/Request
). Puedes ver esto mirando ambas clases de Fachada y sus accesadores:
Illuminate/Support/Facades/Input
protected static function getFacadeAccessor()
{
return ''request'';
}
Illuminate/Support/Facades/Request
protected static function getFacadeAccessor()
{
return ''request'';
}
Como se dio cuenta, una diferencia es el método Input::get()
. Esto es simplemente "traducido" a Request::input()
directamente en la Fachada:
public static function get($key = null, $default = null)
{
return static::$app[''request'']->input($key, $default);
}
Conclusión
Ellos son esencialmente lo mismo. Eso significa que no hay necesidad de cambiar su código existente. Sin embargo, si quisiera, no haría ninguna diferencia.
Al escribir un código nuevo, debe usar Request
. Input
se menciona en la documentación de 5.0. No está (oficialmente) en desuso, pero se recomienda el uso de la Request
.
Lo que realmente me gusta de Request
es que Facade en realidad tiene el nombre de la clase subyacente. De esta forma, queda claro con qué estás tratando. Sin embargo, esto también puede ser la raíz de los errores. Si usa algo como Request::input(''name'')
asegúrese de importar la Fachada con la use Request;
o use Illuminate/Support/Facades/Request
y no use Illuminate/Http/Request
. Lo opuesto se aplica a la inyección de dependencia.