未找到拉拉维尔 5 函数 ()

我正在整理一个网站,其中包含一个受保护的部分,用户必须登录才能访问。我在Laravel 4中做到了这一点,没有太多的事件。然而,对于我的生活,我无法弄清楚为什么我不能让它在Laravel 5(L5)中工作。

在L5中,中间件被引入。这会将路由文件更改为:

Route::get('foo/bar', ['middleware'=>'auth','FooController@index']);
Route::get('foo/bar/{id}', ['middleware'=>'auth','FooController@show']);

只要不包括中间件,该路由就可以正常工作。

但是,当使用中间件访问路由时,结果就不那么有趣了。

哎呀,看起来好像出了点问题。

Route.php 150 行中的 ReflectionException:

函数 () 不存在

任何见解,帮助和/或帮助都非常感谢。我已经完成了谷歌电路,但找不到与我目前的困境相关的任何东西。提前致谢。


答案 1

你忘了钥匙:uses

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

答案 2

如果你在路由中添加比控制器方法更多的内容,你需要添加为控制器数组的键,所以例如,如果我不讨厌任何中间件,那么编写就足够了: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']);

推荐