public addAdvisor ( array | string $pointCut, array | string $advisorInfo, Closure $advice ) : |
||
$pointCut | array | string | advisor의 point cut을 지정한다. point cut은 [타겟클래스명]@[메소드명] 형태의 string 또는, string array 형식을 가진다. 예: 'Document@insertDocument' 또는 ['Document@insertDocument', 'Document@updateDocument'] |
$advisorInfo | array | string | advisor의 이름을 지정한다. 필요한 경우 before, after advisor의 이름을 지정하여 우선순위를 지정할 수 있다. 예: 'spamfilter.insertDocument' - advisor 이름으로 spamfilter.insertDocument를 지정 ['spamfilter.insertDocument' => 'mailing.insertDocument'] - before advisor로 mailing.insertDocument를 지정, mailing이 먼저 실행된 후, spamfilter가 실행된다. |
$advice | Closure | advisor가 작동할 때 실행될 코드를 지정한다. Closure 형식으로 지정한다. 예: function($target, $arg1, $arg2, $arg3) { $target($arg1, $arg2, $arg3); } |
return | 추가된 advisor |