WinRoadのLaravel4初心者講座

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

Winroad徒然草の管理人がお届けします
フィルターを適用するには

フィルターを適用するには

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

フィルターを適用するには、大きく分けて、ルーターで指定する場合と、コントローラーで指定する場合があります。

ルーターでフィルターを指定

ルーターでフィルターを指定するには、第2引数に配列で指定します。

Route::get(‘URI’,array(‘before’=>フィルター名,function(){
//ロジック
}));

フィルターパラメーターの指定

上記のルーターでフィルターにパラメーターを指定することもできます。

基本例
Route::get('user', array('before' => 'age:200', function(){
 return 'Hello World';
 }));

コントローラーでフィルターを指定

コントローラでフィルターを指定するには、基本的にコンストラクター内で指定します。

$this->beforeFilter(フィルター名);

beforeFilterメソッドや、afterFilterメソッドで、フィルターを指定します。第2引数は、オプションで、フィルターの適用条件を指定します。

適用条件
  • on
    POSTやGET、DELETE等のHTTPメソッドを指定して適用条件とします。
  • only
    適用するコントローラアクションを限定します。
  • except
    適用するコントローラアクションを除外します。
基本例
<?php
 class UserController extends BaseController{
 /*
 |----------------------------------------
 | コンストラクター
 |----------------------------------------
 */
 public function __construct(){
 //authフィルター
 $this->beforeFilter('auth',array(
 //フィルター適用の指定
 'only'=>array('getIndex')));
 //全POSTにcsrfフィルターの適用
 $this->beforeFilter('csrf',array('on'=>'post'));
 }
 }

« »

コメントを残す

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