2016-12-30 106 views
2

是否非常規,因此建議不要使用match()方法來確定在1個統一命名路由下使用哪種控制器方法?我有這樣的代碼:使用Route :: match()Laravel 5.3

Route::match(['get', 'post'], '/add/lecture/{course}', [ 
    'as' => 'addLecture', 
    'uses' => Request::isMethod('post') ? '[email protected]':'[email protected]' 
]); 

它按預期工作。但我只想知道這是否是一個可行的解決方案,或者如果我應該停止懶惰並創建兩條單獨的路線(由於特定原因,我不使用Route::resource(),所以請不要建議我將其用於基本CRUD) 。我不是說這個問題是主觀的,我認爲有一個客觀的原因,爲什麼這個問題不常用?

回答

1

它看起來像破解。這是不可讀的,可以在隨機的小Laravel更新後停止工作。在我看來,最好創建兩條明確的路線。

+1

它看起來像一個'黑客'也是我的解釋......爲什麼小的更新會影響這個呢? Laravel似乎不太可能在短期內改變Route類的參數,如果他們這樣做了,我不會認爲這是一個「次要的」變化。我會堅持兩條明確的路線,只是爲了安全(並且絕對提高可讀性)。謝謝 –

+0

好吧,他們已經多次做了類似的改變,有時他們甚至沒有告訴它。 –