Xpressengine\Interception\InterceptionHandler::addAdvisor PHP Method

addAdvisor() public method

이 함수를 직접 호출하는 대신 intercept() 헬퍼함수를 사용하십시오.
public addAdvisor ( array | string $pointCut, array | string $advisorInfo, Closure $advice ) : Advisor
$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 추가된 advisor
    public function addAdvisor($pointCut, $advisorInfo, $advice)
    {
        $info = $this->resolveAdvisorInfo($advisorInfo);
        $advisor = new Advisor($info['name'], $pointCut, $advice);
        $this->advisorCollection->put($advisor, ['before' => $info['before'], 'after' => $info['after']]);
        return $advisor;
    }