Подтвердить что ты не робот

Laravel 5 Функция() не найдена

Я собираю сайт, на котором есть защищенный раздел, где пользователи должны войти в систему для доступа. Я сделал это в Laravel 4 без особого инцидента. Однако для жизни я не могу понять, почему я не могу заставить его работать в Laravel 5 (L5).

В L5 промежуточное ПО было/было введено. Это изменяет файл маршрута на:

Route::get('foo/bar', ['middleware'=>'auth','[email protected]']);
Route::get('foo/bar/{id}', ['middleware'=>'auth','[email protected]']);

Маршрут работает нормально, пока промежуточное ПО не включено.

Когда доступ к маршруту осуществляется с помощью промежуточного программного обеспечения, результат не так увлекателен.

Упс, похоже, что что-то пошло не так.

ReflectionException в строке Route.php 150:

Функция() не существует

Любое понимание, помощь и/или помощь очень приветствуются. Я сделал схему Google и не нашел ничего, что могло бы повлиять на мое текущее положение. Спасибо заранее.

4b9b3361

Ответ 1

вы забыли ключ uses:

Route::get('foo/bar/{id}', ['middleware'=>'auth', 'uses'=>'[email protected]']);

Ответ 2

Если вы добавляете в свои маршруты что-то большее, чем ваш метод контроллера, вам нужно добавить uses в качестве ключа массива для вашего контроллера, так что, например, если я не занимаюсь каким-либо промежуточным программным обеспечением, достаточно написать:

Route::get('foo/bar', '[email protected]');
Route::get('foo/bar/{id}', '[email protected]');

Однако, если вы хотите добавить промежуточное программное обеспечение, вам нужно написать:

Route::get('foo/bar', ['middleware'=>'auth','uses' => '[email protected]']);
Route::get('foo/bar/{id}', ['middleware'=>'auth','uses' => '[email protected]']);

Ответ 3

Если вы не используете контроллер для своего вида, и вы просто хотите отобразить представление, вы должны сделать это:

Route::get('foo/bar', ['middleware' => 'auth', function () {
    return View::make('path.to.your.page');
}]);