WinRoadのLaravel4初心者講座

次世代PHPフレームワークのLaravel4を初心者向けに解説して参ります。

Winroad徒然草の管理人がお届けします
入力の基本

入力の基本

このエントリーをはてなブックマークに追加

ユーザーの入力値を取得する方法は、送信されたデータの値(入力値)だけを取得する方法と、送信されたデータのキーと値(入力値)の配列を取得する方法があります。

値のみを取得する

  1. 送信されたデータの中から、値のみを取得するには、Input::get(キー名)を使用します。
    (例)
    Input::get(‘name’);

    • つまり、Input::get(‘name’)で取得した値は、’nakada’のような値ですが、後でご紹介するInput::only(‘name’)の場合は、’name’=>’nakada’のようなキーと値の配列を取得する点が違いますので、必然的にデータの表示方法が異なります。
  2. Input::get()は、第2引数にデフォルト値を指定することができます。つまり、ユーザーの入力値が存在しない場合には、第2引数の値を取得することができます。
    (例)
    Inputt::get(‘name’,’Sally’);
    上記では、キーnameの値が存在しない場合、第2引数の’Sally’を返します。
  3. 入力値が存在するかどうかを確認するためには、Input::has(キー)を使用します。Input::has()メソッドは、真偽値を返しますので、条件分岐等に使用することができます。
    (例)
    if(Input::get(‘name’)){
    //ここにキーnameの値が存在した場合のコードを記述
    }

送信データの配列を取得する

  1. Input::all()

  2. 送信されたデータの全データの配列を取得するには、Input::all()メソッドを使用します。
    • LaravelのForm::open()メソッドでデータを送信した場合、自動的にhidden要素で_tokenの値も送信されます。Input::al()で、どのような値が送信されたかを確認するには、var_dump(Input::all()で確認することができますので、エラーの原因がわからない場合は、Controllerの要所要所にreturn var_dump(Input::all());を記述して確認してみてください。原因解明の役に立つと思います。
  3. 送信されたデータから限定されたデータのみを取得するには、Input::onlyとInput::exceptがあります。
  4. Input::olny(取得したいデータのキー)

    (例)
    Input::only(‘username’,’password’);
    上記は、’username’=>’nakada’,’password’=>’1234’のような連想配列を取得します。

  5. Input::except(取得したくないデータのキー)

    (例)
    Input::except(‘credit_card’);
    上記は、’credi_card’以外のデータの連想配列を取得します。

« »

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です