フィルタプラグインの作成
ここでは、Ethna 向けの フィルタプラグインの作成方法を説明します。Ethna が持つフィルタチェイン機能については、こちらを参照して下さい。
書いた人 | mumumu | 2009-06-21 | 新規作成 |
フィルタプラグインの実体
フィルタプラグインはEthnaのフィルタ機能を実行するものですので、中身は実際のフィルタと変わりません。但し、プラグインですので、クラス名とファイルの置き場所は、Ethnaのプラグインの規則に従う必要があります。
フィルタプラグインを作成する
Ethna 2.5.0 以前
Ethna 2.5.0 より以前のバージョンでは自動生成機能はありませんので、app/Plugin/Filter/ExecutionTime.php をコピーして手動で作成して下さい。
処理を記述する
以下のように、4つのメソッドが定義されていますので、任意の処理を記述してください。
<?php // vim: foldmethod=marker /** * [APPID]_Plugin_Filter_Hoge * * @author your name <yourname@example.com> * @license http://www.opensource.org/licenses/bsd-license.php The BSD License * @package Ethna_Plugin * @version $Id$ */ // {{{ [APPID]_Plugin_Filter_Hoge /** * Filter Plugin Class Hoge. * * @author yourname <yourname@example.com> * @access public * @package Ethna_Plugin */ class [APPID]_Plugin_Filter_Hoge extends Ethna_Plugin_Filter { function preFilter() { } function preActionFilter($action_name) { } function postActionFilter($action_name, $forward_name) { } function postFilter() { } } // }}} ?>
フィルタプラグインを登録する
フィルタプラグインを実際に使うには、作成して実装するだけでなく、コントローラーにフィルタチェインの一部として登録する必要があります。
フィルタプラグインを登録するには、[Appid]_Controller の $filter メンバに登録すれば、そのプラグインがフィルタチェインのひとつとして登録されます。
var $filter = array( + 'Ethna_Plugin_Filter_Hoge', );