08. Laravel 4 사용자 요청의 데이터

현재 요청 데이터


사용자가 제출한 모든 데이터 가져오기

$data = Input::all();

참고: 여기서 얻은 데이터는 GET와 POST가 제출한 모든 데이터를 포함하고 GET의 우선순위가 높습니다.
그래서 다음과 같은 제출은 이런 데이터를 얻을 수 있다array(2) { ["foo"]=> string(3) "get" ["baz"]=> string(3) "get" }.
<!-- app/views/form.blade.php -->
<form action="{{ url('/') }}?foo=get&baz=get" method="POST">
    <input type="hidden" name="foo" value="bar" />
    <input type="hidden" name="baz" value="boo" />
    <input type="submit" value="Send" />
</form>

지정된 데이터 가져오기

$data = Input::get('foo');

사용자가 전달되지 않은 경우foo 매개변수는 기본값NULL으로 설정됩니다. 여기서 기본값을 설정할 수 있습니다.
$data = Input::get('foo', 'defaultValue');

요청에 어떤 인자가 포함되어 있는지 판단하기

$result = Input::has('foo');

요청의 일부 데이터 가져오기

  • 다음 방법 모두 가능
  • $result = Input::only('foo', 'baz');
  • $result = Input::only(array('foo', 'baz'));

  • 물론 배제법도 있다.
  • 다음 방법 모두 가능
  • $result = Input::except('foo', 'baz');
  • $result = Input::except(array('foo', 'baz'));

  • 이전에 요청한 데이터(레거시)


    모든 기존 데이터 플래시


    마지막 요청이 완료되기 전에 사용자 데이터 플래시 메모리:
    Input::flash();
    

    기존 데이터 부분 플래시

    Input::flashOnly('foo');
    Input::flashOnly('first', 'second', 'third');
    Input::flashOnly(array('first', 'second', 'third'));
    

    물론 배제법도 있다.
    Input::flashExcept('foo');
    Input::flashExcept('first', 'second', 'third');
    Input::flashExcept(array('first', 'second', 'third'));
    

    오래된 데이터 획득 방법


    다음 요청에서는 다음 방법으로 플래시 메모리의 데이터를 추출할 수 있습니다.
    Input::old();
    Input::old('first', 'second', 'third');
    Input::old(array('first', 'second', 'third'));
    

    리디렉션 요청 시 바로 가기 플래시

    // app/routes.php
    Route::get('/', function()
    {
        return Redirect::to('new/request')->withInput();
    });
    

    이러한 작업은 다음과 같습니다.
    // app/routes.php
    Route::get('/', function()
    {
        Input::flash();
        return Redirect::to('new/request');
    });
    

    다른 사용 가능한 단축 플래시 메모리 방법:
    return Redirect::to('new/request')->withInput(Input::only('foo'));
    return Redirect::to('new/request')->withInput(Input::except('foo'));
    

    사용자가 업로드한 파일


    파일 객체 가져오기

    var_dump(Input::file('book'));
    

    이 파일 대상은 호출 방법을 지원합니다
    Input::file('book')->getFileName();             //  
    Input::file('book')->getClientOriginalName();   //  
    Input::file('book')->getClientSize();           //  
    Input::file('book')->getMimeType();             //  
    Input::file('book')->guessExtension();          //  
    Input::file('book')->getRealPath();             //  
    Input::file('book')->move('/storage/directory');    //  
    Input::file('book')->copy('/storage/directory');    //  
    Input::file('book')->rename('newName.pdf');         //  
    

    실제 사용 사례:
    Route::post('handle-form', function()
    {
        $name = Input::file('book')->getClientOriginalName();
        Input::file('book')->move('/storage/directory', $name);
        return 'File was moved.';
    });
    

    Cookies


    쿠키 설정 및 가져오기

    // app/routes.php
    Route::get('/', function()
    {
        $cookie = Cookie::make('low-carb', 'almond cookie', 30);
        return Response::make('Nom nom.')->withCookie($cookie);
    });
    Route::get('/nom-nom', function()
    {
        $cookie = Cookie::get('low-carb', 'defaultValue');
        var_dump($cookie);
    });
    

    지정된 쿠키가 있는지 판단

    var_dump(Cookie::has('low-carb'));
    

    장기적인 Cookies 설정

    // app/routes.php
    Route::get('/', function()
    {
        $cookie = Cookie::forever('low-carb', 'almond cookie');
        return Response::make('Nom nom.')->withCookie($cookie);
    });
    

    지정된 쿠키 삭제

    Cookie::forget('low-carb');
    

    좋은 웹페이지 즐겨찾기