php - que - Laravel 5 Función() no encontrada
laravel foreach index (3)
En caso de que no use un controlador para su vista y solo quiera mostrar la vista, debe hacer esto:
Route::get(''foo/bar'', [''middleware'' => ''auth'', function () {
return View::make(''path.to.your.page'');
}]);
Estoy armando un sitio que tiene una sección protegida donde los usuarios deben iniciar sesión para acceder. He hecho esto en Laravel 4 sin demasiados incidentes. Sin embargo, por mi vida no puedo entender por qué no puedo hacer que funcione en Laravel 5 (L5).
En L5 middleware fue / fueron introducidos. Esto cambia el archivo de ruta a:
Route::get(''foo/bar'', [''middleware''=>''auth'',''FooController@index'']);
Route::get(''foo/bar/{id}'', [''middleware''=>''auth'',''FooController@show'']);
La ruta funciona bien siempre que el middleware no esté incluido.
Sin embargo, cuando se accede a la ruta con el middleware, el resultado no es tan divertido.
Vaya, parece que algo ha ido mal.
ReflectionException en Route.php línea 150:
La función () no existe
Cualquier información, ayuda y / o asistencia es muy apreciada. He hecho el circuito de Google y no pude encontrar nada relevante para mi situación actual. Gracias por adelantado.
Olvidaste la tecla de uses
:
Route::get(''foo/bar/{id}'', [''middleware''=>''auth'', ''uses''=>''FooController@show'']);
Si agrega algo más que su método de controlador a sus rutas, debe agregar uses
como clave de la matriz para su controlador, por ejemplo, si no tengo ningún middleware, es suficiente para escribir:
Route::get(''foo/bar'', ''FooController@index'');
Route::get(''foo/bar/{id}'', ''FooController@show'');
Sin embargo, si desea agregar middleware, debe escribir:
Route::get(''foo/bar'', [''middleware''=>''auth'',''uses'' => ''FooController@index'']);
Route::get(''foo/bar/{id}'', [''middleware''=>''auth'',''uses'' => ''FooController@show'']);