2013-06-13 81 views
0

我決定把我的用戶邏輯分成控制器清理我的路線文件,下降了REST風格的路線我已經得到的東西,如:REST風格的控制器的Laravel改變路線

UsersController { 
    getLogin() { 
    } 
    postLogin() { 
    } 
} 

只有現在我堅持/用戶/登錄和/用戶/註冊等..

我需要改變他們到/登錄和/註冊,我已經研究,但沒有找到明確的答案,我嘗試命名的路線方法:

Route::get('users/login', array('as' => 'login', 'uses' => '[email protected]')); 

但它說沒有找到,一個位T表示&電子商務後,我發現了一個工作路線:

Route::get('login', '[email protected]'); 

只有現在我明確地定義每個方法..沒有這次失敗的REST風格的對象,當我確定動詞兩次?

這將是真棒,如果Laravel可以工作了被請求方法又是什麼我可以做類似以下內容並可以用做:

Route::any('login', '[email protected]'); 

據我所知,這個不能做...在這種情況下嘗試使用RESTful並沒有意義,應該對所有方法使用命名路由?

回答

1

寧靜的控制器僅適用於沒有路由到它的情況。

這些寧靜的控制器的限制是累積總是相同的: {ControllerAlias}/{方法}/{參數}

你應該使用Route::controller('users', 'UsersController');

你能做什麼定義這些,對於例外情況使用命名路由,但對其他情況使用寧靜控制器。

另一種選擇是創建一個「索引」控制器,其中包含getLogin/postLogin和getRegister/postRegister方法。

的路線是這樣的:Route::controller('/', 'HomeController');

個人而言,我鍵入了所有可能的途徑,我這樣做,所以我知道我的觀衆會到底是什麼能夠看到,這不僅是出於安全的好東西(白名單總是安全的好開始),它也幫助我更好地思考一個頁面應該做什麼,以及它應該或者不應該有什麼功能。 它最終提供更好的結構化代碼。但這更多的是我個人對路由的看法。

0

當你想使用函數名作爲getLogin和postLogin時,你有幾個選項。 第一個是在你的路由

Route::controller('auth', 'AuthController');//or whatever is the name of your controller 

到呼叫控制器,如果要添加其他路由休息,充分的資源,你需要指定他們資源調用

Route::get('login','[email protected]'); 
Route::post('login','[email protected]'); 
Route::resource('login', 'AuthController');