我正在部分成功重構常見的laravel路線到一個類。目前我錯誤尋找控制器。重構Laravel路線
這是我重構的基本模式。我將需要vendors
相同的模式,users
,terminals
等
Route::group(['middleware' => ['csrf','DashboardAuthenticate'], 'namespace' => 'App\Http\Controllers'], function() {
Route::get('vendors/', '[email protected]');
Route::get('vendors/create', '[email protected]');
Route::get('vendors/{id}', '[email protected]');
Route::post('vendors/search', '[email protected]');
Route::put('vendors/', '[email protected]');
Route::delete('vendors/', '[email protected]');
Route::get('roles/', '[email protected]');
Route::get('roles/create', '[email protected]');
Route::get('roles/{id}', '[email protected]');
Route::post('roles/search', '[email protected]');
Route::put('roles/', '[email protected]');
Route::delete('roles/', '[email protected]');
Route::get('users/', '[email protected]');
Route::get('users/create', '[email protected]');
Route::get('users/{id}', '[email protected]');
Route::post('users/search', '[email protected]');
Route::put('users/', '[email protected]');
Route::delete('users/', '[email protected]');
Route::get('terminals/', '[email protected]');
Route::get('terminals/create', '[email protected]');
Route::get('terminals/{id}', '[email protected]');
Route::post('terminals/search', '[email protected]');
Route::put('terminals/', '[email protected]');
Route::delete('terminals/', '[email protected]');
});
重構我做了一個類,它看起來像:(該CIRoute類文件是在應用軟件\類\路線命名空間)
class CIRoutes
{
public static function addRoutes($name)
{
$n2 = ucfirst($name);
Route::get($name.'s/', $n2.'[email protected]');
Route::get($name.'s/create', $n2.'[email protected]');
Route::get($name.'s/{id}', $n2.'[email protected]');
Route::post($name.'s/search', $n2.'[email protected]');
Route::put($name.'s/', $n2.'[email protected]');
Route::delete($name.'s/', $n2.'[email protected]');
}
}
然後,我創建的路線:
CIRoutes::addRoutes('vendors');
我認爲這是工作的罰款,但我錯了。目前php artisan route:list
回來了Class App\Http\Controllers\RolesController does not exist
這是它 - 我的意思是它工作正常,沒有重構。
我該如何重構常用路由模式?
這個代碼工作正常 - 我打電話與模型名的複數,這是不正確的路由。 'CIRoutes :: addRoutes('users');'應該是'CIRoutes :: addRoutes('user');'。 duh duh duh – Iannazzi