FuelPHPのコントローラのメソッド

FuelPHP のメソッドには、標準で使えるとても便利なものがある。

今回はコントローラのメソッドについて。
最も基本的なメソッドで、うまく使いこなしたい。

1.コントローラのメソッド

action_index()

URL のメソッド名が省略された場合に実行されるアクションメソッド。
つまり、以下のようなコントローラ名のみ指定した場合。

http://blog.localhost/コントローラ名

このaction_index()メソッドはコントローラ内に必ず定義しなければならない。
メソッド名を省略した場合に、404 Not Found エラーになる。

FuelPHPのエラー構造の肝になるところ

before()

アクションメソッド実行「前」に呼び出され、自動実行されるメソッド。
コントローラ内に共通する処理などを記述する(認証済みかどうかの判定など)。

php ではコンストラクタメソッド __construct() を独自に定義できる。
そして、コンストラクタメソッドを有するクラスは、オブジェクトが生成される度にこのメソッドを実行してしまう。

そのため、FuelPHP ではコンストラクタメソッドを使わずに、必要な処理は全て before() メソッドで行なう。

after($response)

アクションメソッド実行「後」に呼び出され、自動実行される。
このメソッドには引数が必要で、実行されたアクションメソッドの返り値が代入される(必須)。

public function after($response)
{
}

アクションメソッドの返り値とは、View オブジェクトなどのこと。
after() メソッドがそれを Response オブジェクトに変換し、返さなくてはならない。

router()

コントローラの内部ルーティングを上書きするメソッド。
このメソッドがコントローラ内にあると、必ず実行され、ルーティングが変更される。

最初の引数にメソッド名を、2つ目の引数にパラメータの配列を渡す。

public function after($method, $params)
{
}

参考

コントローラ – 概要 – FuelPHP ドキュメント

PHP: コンストラクタとデストラクタ – Manual

コメント

タイトルとURLをコピーしました