"artisan route:list" 中作为闭包出现的控制器操作
Controller actions appearing in "artisan route:list" as Closures
我很茫然。我正在努力将应用程序升级到 Laravel 5.4,但在途中 (5.2.45) 我在几条路线上发生了一些奇怪的事情。我在 routes.php
中有 3 个 Route::controller()
调用,并且我已将它们全部转换为显式路由,因为 ::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 目录中。
哦,见鬼,使用与使用。用格罗弗的话来说,"I am so embarrassed..."
我很茫然。我正在努力将应用程序升级到 Laravel 5.4,但在途中 (5.2.45) 我在几条路线上发生了一些奇怪的事情。我在 routes.php
中有 3 个 Route::controller()
调用,并且我已将它们全部转换为显式路由,因为 ::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 目录中。
哦,见鬼,使用与使用。用格罗弗的话来说,"I am so embarrassed..."