4.2. S2AOP 使用上の注意点
前のページ
第4章 S2AOP.PHP リファレンス
次のページ
4.2. S2AOP 使用上の注意点
aspectタグで指定されたコンポーネントは、コンテナの初期化時にコンテナから取得されます。 そのため、aspectタグで指定されたコンポーネントのinstance属性がprototypeだったとしても、 Interceptorのメソッドが呼び出される度に新しいインスタンスが作成されるわけではありません。
pointcut属性を指定しない場合、実装しているインターフェースのすべてのメソッドが対象になります。 インターフェースを実装していない場合は、クラスのすべてのpublicメソッドが対象になります。(親クラスが実装しているメソッドは対象外となります。)
アクセス修飾子がpublicなメソッドにのみアスペクトを適用できます。
staticなメソッドにはアスペクトを適用できません。
finalなクラス、メソッドにはアスペクトを適用できません。
メソッド名が、アンダーバーで始まる場合はアスペクトを適用できません。
メソッド引数のデフォルト値に値を持つ配列が設定されている場合はアスペクトを適用できません。 ( public function hoge($a = array('year' => 2007)) など)
© Copyright The Seasar Foundation and the others 2005-2010, all rights reserved.