簡體   English   中英

Laravel:組織和組織routes.php

[英]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.phpRoute::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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM