aowp (AOWP 0.8.7) | 2010-07-14 12:23 |
aowp (.tar.gz) (AOWP 0.8.7) | 2010-07-14 12:24 |
Method definition.
AOWP_PHPMethodElement
AOWP_MethodExecutionPointcut
修飾子
クラス名
メソッド名
引数の数
以下の表に記したコンテキスト情報がアドバイス本体内で使用できます。
表 アドバイス本体内で使用できるコンテキスト情報
仮引数 | 戻り値 | インスタンス | |
BeforeAdvice | 〇 | × | 〇 |
AfterAdvice | 〇 | 〇 | 〇 |
AroundAdvice | 〇 | × | 〇 |
仮引数の取得は func_get_args( ) によって行っています。全てのアドバイス本体内で、
$args0 = $context->args[0];
のように、配列として仮引数の値は使用できます。
Afterアドバイスは関数終了後に実行されるので、その関数の戻り値をアドバイス本体内で、
$retVal = $context->returnValue;
として、使用することができます。Beforeアドバイスは、関数実行前に実行されるので、戻り値は利用できません。Aroundアドバイスは、関数定義そのものを置換するので、戻り値は利用できません。ただし、アドバイス本体内で proceed を実行した場合の戻り値は利用できます。
全てのアドバイスは、そのアドバイス本体内で、当ジョインポイントのインスタンスが利用できます。
$instance = $context->instance;
複数のアドバイスが、当ジョインポイントに織り込まれる場合、FunctionExecutionと同じ動きをします。省略します。
afterアドバイスの実行以前に例外がスローされた場合、afterアドバイスは実行されません。