Свойство | Тип | Описание | |
---|---|---|---|
$advisorCollection | advisor 저장소. 이 클래스를 통해 등록되는 모든 advisor는 AdvisorCollection에 저장된다. | ||
$loader | Xpressengine\Interception\Proxy\Loader\Loader | ||
$passes | Xpressengine\Interception\Proxy\Pass\Pass | ||
$proxyGenerator | |||
$proxyList | array | proxy가 생성된 클래스 목록 key는 target class name, value는 proxy class name을 저장한다. |
Метод | Описание | |
---|---|---|
__construct ( |
constructor | |
addAdvisor ( array | string $pointCut, array | string $advisorInfo, Closure $advice ) : |
advisor의 구성정보를 파라메터로 입력받아 advisorCollection에 추가한다. | |
clearProxies ( ) : void | 기생성된 Proxy 파일을 모두 삭제한다. | |
getAdvisorCollection ( ) : |
||
getProxyList ( ) : array | 생성된 proxy class 리스트를 반환한다. | |
proxy ( string $targetClass, string | null $alias = null ) : string | 타겟 클래스의 프록시 클래스를 생성하여 로드하고, 생성된 프록시 클래스 이름을 반환한다. |
Метод | Описание | |
---|---|---|
resolveAdvisorInfo ( array $advisorInfo ) : array | addAdvisor 메소드를 통해 입력받은 advisorInfo에서 정보를 추출한다. |
Метод | Описание | |
---|---|---|
resolveAfterAdvisor ( string | array $priority ) : string | array | null | advisorInfo에서 after advisor name을 추출한다. | |
resolveBeforeAdvisor ( string | array $priority ) : string | array | null | advisorInfo에서 before advisor name을 추출한다. |
public __construct ( |
||
$advisorCollection | advisor 저장소 | |
$generator | 프록시 생성기 |
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); } |
Результат | 추가된 advisor |
public clearProxies ( ) : void | ||
Результат | void |
public getAdvisorCollection ( ) : |
||
Результат |
public getProxyList ( ) : array | ||
Результат | array |
protected resolveAdvisorInfo ( array $advisorInfo ) : array | ||
$advisorInfo | array | 정보를 추출할 배열 |
Результат | array | 추출된 정보 |
protected $advisorCollection |
protected Loader,Xpressengine\Interception\Proxy\Loader $loader | ||
Результат | Xpressengine\Interception\Proxy\Loader\Loader |
protected Pass,Xpressengine\Interception\Proxy\Pass $passes | ||
Результат | Xpressengine\Interception\Proxy\Pass\Pass |
protected ProxyGenerator,Xpressengine\Interception\Proxy $proxyGenerator | ||
Результат |
protected array $proxyList | ||
Результат | array |