控制器操作出现在“artisan route:list”中作为Closures

时间:2017-07-27 20:04:13

标签: laravel-5.2 laravel-routing

我很茫然。我正在努力将应用程序升级到Laravel 5.4,但是在路上(5.2.45)我有几条路线发生了奇怪的事情。我在Route::controller()中进行了3次routes.php次调用,并且我已将所有这些调用转换为显式路由,因为::controller()已被删除。现在来自其中一个::controller()调用的新路由工作正常,其他两个路由没有,报告未找到操作。

查看示例,这是一个正在运行的示例:

\Route::get( 'account/edit', array( 'as'=>'account.edit', 'uses'=>'AccountController@getEdit' ) );

这是一个不是:

\Route::get( 'recent/clear', array( 'as'=>'recent.clear', 'use'=>'RecentController@getClear' ) );

为了完整起见,这里是适用的控制器部分

class AccountController extends Controller {

    public function getEdit()
    {
        $roles = Role::getSelectList(); 
        $districts = District::getSelectList();
        return \View::make('accountedit', array( 'editUser' => \Auth::user(), 'roles'=>$roles, 'districts'=>$districts ));
    }
}


class RecentController extends Controller {

    public function getClear()
    {
        \Session::forget( 'recent' );
        return \Redirect::to('/main')->with( array( 'alerts'=>array( ErrorHelper::alert('success','Success','The Recent list has been cleared.') ) ) );
    }
}

最直接的标志是我正在运行的artisan route:list。以下是结果中的两个适用行:

| Method    | URI           | Name                            | Action                                          |
+-----------+---------------+---------------------------------+-------------------------------------------------+
| GET|HEAD  | account/edit  | account.edit                    | App\Http\Controllers\AccountController@getEdit  |
| GET|HEAD  | recent/clear  | recent.clear                    | Closure                                         |

我不知道为什么recent.clear显示为关闭。对于什么是错的任何想法? FWIW,我在两个控制器上都有相同的命名空间,它们都位于Http \ Controllers目录中。

1 个答案:

答案 0 :(得分:0)

哦,哎呀,使用和使用。用Grover的话说,"我很尴尬......"