2016-12-30 3 views
2

match() 메서드를 사용하여 획일 화 된 명명 된 경로에서 사용할 컨트롤러 메서드를 결정하는 것이 현명하지 않으므로 권장하지 않습니까? 이 코드를 가지고 :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

글쎄, 그들은 비슷한 변화를 여러 번 이미했고 때로는 심지어 그것에 대해 말하지 않았다. –