Curry
PHP Framework

core

db

html

utility

PluginAbstract

クラス概要

コントローラーの共通処理として動作するプラグインの仕組みを提供するクラスです。
プラグインを利用する場合は以下の条件を満たすクラスを定義する必要があります。

・PluginAbstractを継承する
・クラス名は"Plugin"とする
・コントローラーディレクトリに配置する

プラグインが有効となる対象のコントローラーの範囲は、Pluginクラスの存在するディレクトリ内にある全コントローラーと、サブディレクトリにあるコントローラー全てです。上層のコントローラーに対しては有効になりません。また、サブディレクトリ内に別のPluginが存在する場合はそのサブディレクトリ以下ではそちらが優先されます。

preProcessメソッドとpostProcessメソッドは、Pluginクラス内に定義するだけで自動的に実行されるメソッドで、コントローラークラスの処理の前後を挟むようなタイミングで実行されます。
またコントローラークラスの$pluginフィールドにPluginクラスのインスタンスが保持されるため、Pluginクラスに任意のpublicメソッドを定義すると、コントローラークラスからライブラリ的に利用できる共通メソッドとすることが可能です。

プラグインの詳細についてはマニュアルを参照してください

クラスファイル位置

curry/core/plugin_abstract.php

フィールド

フィールド名 アクセス 概要
$view protected ViewStandard または ViewSmarty Viewクラスインスタンスを取得します。
参照のみ可能です。
$request protected Request Requestクラスインスタンスを取得します。
参照のみ可能です。
$post protected array コントローラーの同名フィールドと同じ働きをします。
参照のみ可能です。
$query protected array コントローラーの同名フィールドと同じ働きをします。
参照のみ可能です。
$params protected array コントローラーの同名フィールドと同じ働きをします。
参照のみ可能です。
$response protected Response Responseクラスのインスタンスです。

※バージョン1.1.0以降

メソッド

メソッド名 アクセス 概要
preProcess public Pluginクラスにこのメソッドを定義することで、コントローラーのpreProcessメソッドより更に前のタイミングでこのメソッドが実行されます。
全てのコントローラークラスで共通の前処理を行う場合にこのメソッドを定義して処理を記述します。
postProcess public Pluginクラスにこのメソッドを定義することで、コントローラーのpostProcessメソッドより更に後のタイミングでこのメソッドが実行されます。
全てのコントローラークラスで共通の後処理を行う場合にこのメソッドを定義して処理を記述します。
model public Controllerのmodelメソッドと全く同じ働きをします。
詳しくはそちらのリファレンスを参照してください。
redirect public Controllerのredirectメソッドと同じ働きをします。
詳しくはそちらのリファレンスを参照してください。