FuelPHP のメソッドには、標準で使えるとても便利なものがある。
今回はコントローラのメソッドについて。
最も基本的なメソッドで、うまく使いこなしたい。
1.コントローラのメソッド
action_index()
URL のメソッド名が省略された場合に実行されるアクションメソッド。
つまり、以下のようなコントローラ名のみ指定した場合。
http://blog.localhost/コントローラ名
このaction_index()メソッドはコントローラ内に必ず定義しなければならない。
メソッド名を省略した場合に、404 Not Found エラーになる。
before()
アクションメソッド実行「前」に呼び出され、自動実行されるメソッド。
コントローラ内に共通する処理などを記述する(認証済みかどうかの判定など)。
php ではコンストラクタメソッド __construct() を独自に定義できる。
そして、コンストラクタメソッドを有するクラスは、オブジェクトが生成される度にこのメソッドを実行してしまう。
そのため、FuelPHP ではコンストラクタメソッドを使わずに、必要な処理は全て before() メソッドで行なう。
after($response)
アクションメソッド実行「後」に呼び出され、自動実行される。
このメソッドには引数が必要で、実行されたアクションメソッドの返り値が代入される(必須)。
public function after($response) { }
アクションメソッドの返り値とは、View オブジェクトなどのこと。
after() メソッドがそれを Response オブジェクトに変換し、返さなくてはならない。
router()
コントローラの内部ルーティングを上書きするメソッド。
このメソッドがコントローラ内にあると、必ず実行され、ルーティングが変更される。
最初の引数にメソッド名を、2つ目の引数にパラメータの配列を渡す。
public function after($method, $params) { }
コメント