WinRoadのLaravel4初心者講座

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

Winroad徒然草の管理人がお届けします
名前付きルート

名前付きルート

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

名前付きルートとは、ルートに名前を付けることにより、より簡単にリダイレクトやURLを生成することが出来る機能です。

ルートに名前をつける方法

まず、ルートに名前を付ける方法を調べてみましょう。

Route::get(URI,array(‘as’=>ルート名,function(){実行コード}));

  • getメソッドの第2引数を配列にして、配列の最初にルート名を指定します。ルート名の指定には’as’を使います。
    Route::get(‘user/profile’,array(‘as’=>’profile’,function(){
    //実行コード
    }));

名前付きルートの呼び出し方

この名前付きルートは、URLクラスのrouteメソッドやRedirectクラスのrouteメソッドで呼び出すことが出来ます。

  • $url=URL::route(‘profile’);
    上記は$urlに”http://localhost/laravel4/public/user/profile”を代入します。
  • return Redirect::route(‘profile’);
    上記は、”http://localhost/laravel4/publi/user/profile”へリダイレクトします。

コントローラアクションに対するルート名の指定

また、コントローラアクションに対してもルート名を指定できます。

Route::get(‘user/profile’,array(‘as’=>ルート名,’uses’=>コントローラアクション));

  • getメソッドの第2引数に無名関数ではなく、コントローラアクションを指定します。コントローラアクションの指定は’uses’を使用します。
    Route::get(‘user/profile’,array(‘as’=>’profile’,’uses’=>’UserController@showProfile’));

尚、現在実行中のルート名は、RouteクラスのcurrentRouteNameメソッドで取得できます。

  • $name=Route::currentRouteName();

« »

コメントを残す

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