Laravel 5 未找到函数 ()
Laravel 5 Function () not found
我正在建立一个网站,其中有一个受保护的部分,用户必须登录才能访问。我在 Laravel 4 中完成了此操作,没有发生太多意外。然而,对于我的生活,我无法弄清楚为什么我不能让它在 Laravel 5(L5) 中工作。
在L5中间件was/were中介绍。这会将路由文件更改为:
Route::get('foo/bar', ['middleware'=>'auth','FooController@index']);
Route::get('foo/bar/{id}', ['middleware'=>'auth','FooController@show']);
只要不包含中间件,路由就可以正常工作。
当使用中间件访问路由时,结果并不那么有趣。
Whoops, looks like something went wrong.
ReflectionException in Route.php line 150:
Function () does not exist
非常感谢任何见解、帮助和and/or 帮助。我已经完成了 Google 电路,但找不到与我当前困境相关的任何内容。提前致谢。
您忘记了 uses
键 :
Route::get('foo/bar/{id}', ['middleware'=>'auth', 'uses'=>'FooController@show']);
如果你在路由中添加的不仅仅是你的控制器方法,你需要添加 uses
作为你的控制器数组的键,所以例如如果我没有任何中间件就足够了:
Route::get('foo/bar', 'FooController@index');
Route::get('foo/bar/{id}', 'FooController@show');
但是如果你想添加中间件你需要这样写:
Route::get('foo/bar', ['middleware'=>'auth','uses' => 'FooController@index']);
Route::get('foo/bar/{id}', ['middleware'=>'auth','uses' => 'FooController@show']);
如果您不为视图使用控制器而只想显示视图,您应该这样做:
Route::get('foo/bar', ['middleware' => 'auth', function () {
return View::make('path.to.your.page');
}]);
我正在建立一个网站,其中有一个受保护的部分,用户必须登录才能访问。我在 Laravel 4 中完成了此操作,没有发生太多意外。然而,对于我的生活,我无法弄清楚为什么我不能让它在 Laravel 5(L5) 中工作。
在L5中间件was/were中介绍。这会将路由文件更改为:
Route::get('foo/bar', ['middleware'=>'auth','FooController@index']);
Route::get('foo/bar/{id}', ['middleware'=>'auth','FooController@show']);
只要不包含中间件,路由就可以正常工作。
当使用中间件访问路由时,结果并不那么有趣。
Whoops, looks like something went wrong.
ReflectionException in Route.php line 150:
Function () does not exist
非常感谢任何见解、帮助和and/or 帮助。我已经完成了 Google 电路,但找不到与我当前困境相关的任何内容。提前致谢。
您忘记了 uses
键 :
Route::get('foo/bar/{id}', ['middleware'=>'auth', 'uses'=>'FooController@show']);
如果你在路由中添加的不仅仅是你的控制器方法,你需要添加 uses
作为你的控制器数组的键,所以例如如果我没有任何中间件就足够了:
Route::get('foo/bar', 'FooController@index');
Route::get('foo/bar/{id}', 'FooController@show');
但是如果你想添加中间件你需要这样写:
Route::get('foo/bar', ['middleware'=>'auth','uses' => 'FooController@index']);
Route::get('foo/bar/{id}', ['middleware'=>'auth','uses' => 'FooController@show']);
如果您不为视图使用控制器而只想显示视图,您应该这样做:
Route::get('foo/bar', ['middleware' => 'auth', function () {
return View::make('path.to.your.page');
}]);