2017-01-01 97 views
5

我正在尋找一些關於我用於路由名稱和視圖目錄結構的命名約定的輸入。路由和視圖命名約定

說我有以下途徑:

Route::get('/teams/choose', '[email protected]')->name('teams.choose.index'); 

Route::post('/teams/choose', '[email protected]')->name('teams.choose'); 

Route::get('/teams/{team}/manage', '[email protected]')->name('teams.team.manage.index'); 

對於get路線,我會nornally把意見匹配路徑名的目錄結構。例如。 resources/views/teams/team/manage/index.blade.php。不過,我覺得這太冗長了。

我覺得這將是混亂的全方位(對自己和其他開發人員),如果我是使用視圖目錄結構像這樣,而不是最後一個例子:resources/views/team/manage/index.blade.php - 不使用的team複數,所以當我有其他意見,像這樣(使用原始示例約定):resources/views/teams/choose.index他們不具有視覺上的意向關係。即他們有一個不同的'根'目錄 - teams vs team

任何意見或建議,將不勝感激。

回答

7

對於get路由,我通常會將視圖放在與路由名稱匹配的目錄結構中。例如。 resources/views/teams/team/manage/index.blade.php。不過,我覺得這太冗長了。

我同意。


Laravel docs

Laravel分配資源的路線到控制器時使用的典型REST風格的 「CRUD」 的做法。每個動詞(即GET,POST,PUT,DELETE)得到一個指定URI,一個動作(技術上,控制器法)和路由名稱(有時,/path/to/blade/view)。

所以,從你的片段:

// return view(teams.index) 
Route::get('/teams', '[email protected]'); 

// return view(teams.create) 
Route::get('/teams/create', '[email protected]'); 

// redirect('/home'); 
Route::post('/teams', '[email protected]'); 

// return view('teams.profile') 
Route::get('/teams/profile', '[email protected]')->name('profile'); 

我用這個resource table提醒我什麼對做,什麼 - 不這樣做所有的時間。

也許,檢查一些awesome Laravel codebases可能會有所幫助。另外,關於其他團隊如何做事的觀點總是無價的。

我發現這是非常有幫助的:


更新

,關鍵是要堅持標準CRUD操作即指數,s如何創建,存儲,編輯,更新和刪除。意見將落到他們的位置。

退房Adam Wathan's talk at Laracon EU他演示了什麼,什麼都可以CRUDDY有一點想象力。

+0

非常感謝! – AshMenhennett