出力フィルタ

目次

はじめに

Envi PHPは画面に描画を行う前に、すべてのリクエストで、出力フィルタを実行します。

設定ディレクティブ

  FILTER:
  ################################
  # フィルターの設定
  ################################
    output_filter:
      EnviOutputFilter:
        class_name: "EnviOutputFilter"
        resource: "<?php echo ENVI_BASE_DIR."filters".DIRECTORY_SEPARATOR."EnviOutputFilter.php";?>"

Filter:
  output_filter:

内に、任意のフィルタ名(必ずしもクラス名と同じである必要はありません)の設定階層を作成し、そこに設定を記載します。

実際には下記のような形になります。

Filter:
  output_filter:
    任意のフィルタ名:
        class_name: "クラス名"
        resource: "クラスを定義しているPHPファイル"

また、フィルタは設定された順番に実行されます。


名前 説明
class_name クラス名
resource クラスを定義しているPHPファイル

サンプル

出力フィルタは必ず、EnviOutputFilterBaseを継承して作成します。 EnviOutputFilterBaseは、明示的に、requireを行う必要はありません。

また、実装するべきメソッドは、execute()ただ一つです。

executeは、すべての出力を格納した、&$contentsと言う引数を一つだけ取ります。

これを任意に書き換えることにより、画面出力を変更できます。

その他のプライベートなメソッドは自由に作成して構いません。


<?php
class EnviOutputFilter extends EnviOutputFilterBase
{

    
/**
     * +-- フィルタの実行
     *
     *
     * @access public
     * @param string &$contents 出力データ
     * @return void
     */
    
public function execute(&$contents)
    {
    }
    
/* ----------------------------------------- */

}

関連項目