WinRoadのLaravel4初心者講座

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

Winroad徒然草の管理人がお届けします
ルートパラメーター

ルートパラメーター

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

Laravel4では、ルートパラメーター*は{ } 内に値を指定します。

ルートパラメーター

Route::get('user/{id}',function($id){
return 'User'.$id;
});
  • 上記の例では、http://localhost/laravel4/public/user/15と入力すると、’User15’と表示されます。つまり、URIの値により、返される値が変わります。また、パラメータの{id}を指定しなければ、NotFoundExceptionエラーが発生します。

オプションのルートパラメーター

Route::get('user/{name?}',function($name=null){
return $name;
});
  • 上記の例では、http://localhost/laravel4/public/user/nakadaと入力すると、ブラウザにはnakadaと表示されます。また、パラメータの{name}を指定しなければ、$nameにnull値が挿入されますので、ブラウザには空白が表示されます。

デフォルト値を指定したオプションのルートパラメーター

Route::get('user/{name?}',function($name='nakada'){
return $name;
});
  • 上記の例では、http://localhost/laravel4/public/userとパラメータの{name}を指定しなければ、デフォルトとして指定されているnakadaが表示されます。

正規表現*によるルートの束縛

Route::get('user/{name}',function($name){
return $name;
})->where('name','[A-Za-z]+');
  • 上記の例では、http://localhost/laravel4/public/user/nakada5のようにパラメーターにアルファベット以外の値を指定すると、NotFoundHttpExceptionエラーが発生します。
Route::get('user/{id},function($id){
return 'User'.$id;
})->where('id','[0-9]+');
  • 上記の例ではhttp://localhost/laravel4/public/user/nakadaのようにパラメーターに数字以外の文字を入力すると、NotFoundHttpExceptionエラーが発生します。

« »

コメント

  • 中澤 理 より:

    正規表現*によるルートの束縛の一つ目の例で、コード中のwhereがwherになっています(eが抜けています)。

    新プロジェクトのフレームワーク選びで参考にさせていただきました。当サイト等をかんがみて、現在laravel4が最有力候補です。分かりやすい解説に感謝いたします。

    • nakada より:

      コメントありがとうございます。

      スペルの間違いは修正しておきました。

      これからもよろしくお願いします。

コメントを残す

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