core
db
html
utility
PluginAbstract
クラス概要
コントローラーの共通処理として動作するプラグインの仕組みを提供するクラスです。
プラグインを利用する場合は以下の条件を満たすクラスを定義する必要があります。
・PluginAbstractを継承する
・クラス名は"Plugin"とする
・コントローラーディレクトリに配置する
プラグインが有効となる対象のコントローラーの範囲は、Pluginクラスの存在するディレクトリ内にある全コントローラーと、サブディレクトリにあるコントローラー全てです。上層のコントローラーに対しては有効になりません。また、サブディレクトリ内に別のPluginが存在する場合はそのサブディレクトリ以下ではそちらが優先されます。
preProcessメソッドとpostProcessメソッドは、Pluginクラス内に定義するだけで自動的に実行されるメソッドで、コントローラークラスの処理の前後を挟むようなタイミングで実行されます。
またコントローラークラスの$pluginフィールドにPluginクラスのインスタンスが保持されるため、Pluginクラスに任意のpublicメソッドを定義すると、コントローラークラスからライブラリ的に利用できる共通メソッドとすることが可能です。
プラグインの詳細についてはマニュアルを参照してください
プラグインを利用する場合は以下の条件を満たすクラスを定義する必要があります。
・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メソッドと同じ働きをします。 詳しくはそちらのリファレンスを参照してください。 |