라라벨을 접하다보니 라우팅에는 익숙하긴하지만 꽤나 많은 라우터들이 종류하고 있다.
이들의 특징과 어떤 형식으로 사용하는지 살펴보자
일단 들어가기에 앞서 라우팅은 하위의 7가지의 종류로 이루어져있다.
get, post, put, delete, resource, view, redirect
Route::get()
Route:get() Example
Route::get('/about', AboutController@index')
- /about : 이동하고자 하는 URL
- AboutController : 컨트롤러의 이름
Controller 경로 : app/Http/Controllers- @ : 컨트롤러명과 메서드명을 구분하는 구분자
- index : AboutController에서 실행할 메서드명
해석
"/about" URL로 HTTP GET 요청을 처리할 때 AboutContoller 클래스의 index라는 메서드를 사용하여 관련된 뷰를 반환한다.
Route::post()
Route::get()
Route::post('/submit', 'FormController@store')
- /submit : URL
- FormController : 컨트롤러 이름
- store : FormController에서 실행할 메서드명
해석
"/submit" URL로 HTTP POST 요청을 할 때 FormController의 store이라는 메서드를 실행한다.
Route::put()
Route::put()
Route::put('/update/{name}', 'DataController@update')
- /update/{name} : URL
- DataController : 컨트롤러이름
- update : DataController에서 실행할 메서드명
해석
"/update/{name}" URL로 HTTP PUT 요청을 할 때 DataController에서 update라는 메서드를 실행한다.
Route::delete()
Route::delete()
Route::delete('/delete/{name}', 'DataController@destroy')
- /delete/{name} : URL
- DataController : 컨트롤러이름
- destroy : DataController에서 실행할 메서드명
해석
"/delete/{name}" URL로 HTTP DELETE 요청을 할 때 DataController에서 destroy 메서드를 실행한다.
Route::resource()
Route::resource()
Route::resource('articles', 'ArticleController')
- articles : resource에 대한 일련의 라우트 생성
- ArticleController : 해당 컨트롤러의 메서드를 사용해서 작업을 처리한다.
해석
ArticleController에서 resource로 사용될 이름을 articles라고 지정한다.
Route::view()
Route::view()
Route::view('/welcome', 'welcome')
- /welcome : URL
- welcome : 반환할 뷰
해석
/welcome URL로 GET요청은 welcome 뷰를 반환한다.
Route::redirect()
Route::redirect()
Route::redirect('/old', '/new', 301)
해석
"/old" URL로의 요청은 "/new" URL로 301 상태 코드(영구 리디렉션)와 함께 리디렉션된다.