[英]Laravel : Structure and organize routes.php
我正在嘗試在控制器中使用GET|POST|PUT|DELETE
。
我感覺隨着我的項目越來越大,我的routes.php
文件將變得混亂,因為我必須為所有GET|POST...
請求注冊很多路由。
這是我現在使用的結構:
<?php
/*
|--------------------------------------------------------------------------
| Home Routes
|--------------------------------------------------------------------------
*/
//Get
Route::get('/', 'HomeController@getIndex');
Route::get('/home/logout', 'HomeController@getLogout');
//Post
Route::post('/home/login', 'HomeController@postLogin');
/*
|--------------------------------------------------------------------------
| Appointment Routes
|--------------------------------------------------------------------------
*/
//Get
Route::get('appointments', 'ApptController@getIndex');
有一個更好的方法嗎? 如何組織/改進此文件?
你能給我一些建議嗎? 謝謝!
有一些方法可以改善路線,例如,在上述情況下,您可以執行以下操作:
Route::group(array('prefix' => 'home'), function()
{
Route::get('logout', 'HomeController@getLogout');
Route::post('login', 'HomeController@postLogin');
});
Route::get('/', 'HomeController@getIndex');
改善代碼的另一種方法是讓自己更放松。 這樣,您可以在一行代碼中處理諸如創建,刪除,索引,更新之類的方法,如下所示:
Route::resource('products', 'ProductsController');
看一下: http : //laravel.com/docs/controllers#resource-controllers
您可以使用routes.php
的Route::controller()
方法將傳入請求直接路由到現有Controller
:
Route::controller('home', 'HomeController');
Route::controller('appointments', 'AppointmentsController');
然后所有對home/*
請求將由您的HomeController
處理, appointments/*
將轉到AppointmentsController
等,等等。
看起來您已經使用HTTP方法在Controller中創建了函數,因此:
HTTP GET
到'/'
將由HomeController@getIndex()
HTTP GET
到'logout'
將由HomeController@getLogout()
HTTP POST
到'login'
將由HomeController@postLogin()
更多的優秀和雄辯Laravel文檔在這里
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.