2016-12-30 77 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

好吧,他们已经多次做了类似的改变,有时他们甚至没有告诉它。 –