Laravel 带有可选参数的路由到控制器

Laravel route with optional parameter to controller

具有可选参数的路由在这样做时有效:

Route::get('{anything}',function($anything){echo $anything;});    

但我想使用控制器。这样做会产生错误:

Route::get('{anything}','redirectController');

控制器:

class redirectController {

public function index($anything){
    echo $anything;
}} 

可能是什么问题? (使用 laravel 4.2)

更新: 我用大写字母重命名了控制器,并尝试了这个:

Route::get('{anything}',['uses' => 'RedirectController@index']); 

但还是报错:"Call to undefined method RedirectController::getAfterFilters() ".

如果您想使用控制器,有两种选择:

  1. Route::controller('route', 'SomeController');
  2. Route::get('route', ['uses' => 'SomeController@index']);;

在第一种情况下,您必须阅读以下内容:
http://laravel.com/docs/4.2/controllers#implicit-controllers

在这种情况下,您的操作名称应该是 getIndex,而不仅仅是 index

祝你好运!

UPD

确保您的控制器扩展了 Laravel 的控制器 class,如下所示:

use Illuminate\Routing\Controller;

class SomeController extends Controller {
    ...
}