본문으로 바로가기

너무 간만에 라라벨 포스팅

정말 오랜만에 공부하는거라 뭐가 뭔지 다 까먹었고 여전히 어렵지만 하나하나 공부하는데로

할수있는한 많이 포스팅하자!


[ 라우트 기본 종류 ]

우선 라우트의 기본 구조는 다음과 같다

Route:메소드(array('key값'=>'value값', 'key값'=>'value값'....)), 실행할함수명(){...}



예를 들어 Laravel을 설치를 성공하면 바로 볼수 있는 'You have arrived.'페이지를 라우트하는 소스코드를 보면 다음처럼 되어있다. 이 처럼 메소드명이 get임을 볼 수 있는데 이게

1. 기본 get 라우트이다

Route::get('/', function()
{
    return 'Hello World';
});

http://localhost:8000/라고 쳤을 때 Hello World를 return 한다는 것.


이처럼 post를 쓰고싶을 경우에는 메소드 부분에 get이 아닌 post라고 입력하면 된다

2. 기본 Post 라우트

Route::post('foo/bar', function()
{
    return 'Hello World';
});
쓰는방법?


get과 post 둘 다 되도록 할 때는 메소드 부분에 any라고 입력하면 된다

3. 모든 HTTP 동사에 응답하는 라우트

Route::any('foo', function()
{
    return 'Hello World';
});


[ 매개변수 받는 방법 ]


다음 예제를 보고 설명하자면,

users라는 주소(?)에서 get으로 id값을 받아 화면에 출력하는 것을 알 수 있다.

URL에서 파라미터로 id 가 s88240이라고 넘어왔을 경우 실제로 화면에 id가 s88240으로 넘어와서 

"User s88240"이라는 문구가 찍혀나왔음을 확인할 수 있다.


http://localhost:8000/users/s88240

Route::get('users/{id}', function($id)
{
    return 'User '.$id;
});

또는 아이디 값을 무조건 받아오지 않아도 되도록 하고 싶을 경우 (선택적 라우트 매개변수)

다음과 같이 사용한다.

users페이지에서 파라미터(여기서는 id)를 입력 받았을 경우에는 그 값을 출력을 하고, 

입력받지 않았을 경우에는 그냥 빈 페이지가 나온다.

Route::get('users/{id?}', function($id = null)
{
    return $id;
});

위와 같이 null이 아니라 어떤 특정한 값을 선언해주었을 경우에는 파라미터에 아무것도 입력하지않았을때 미리 지정한 그 특정한 값을 출력할수도 있다.

Route::get('users/{id?}', function($id = 's88240')
{
    return $id;
});


마지막으로 여러개의 파라미터를 받을 때는 다음과 같이 사용하면된다
Route::get('user/{id}/{name}', function($id, $name)
{
    //...
})

참고사이트 : http://laravel-korea.org/docs/routing (한국 Laravel메뉴얼 있는곳)

https://github.com/revivent/lbod/wiki/_pages