class AdvisorCollection

이 클래스는 Xpressengine에서 등록된 모든 advisor를 관리하는 클래스이다. 생성된 advisor를 저장하고 특정 pointcut에 해당하는 advisor들의 정렬된 목록을 반환하는 역할을 한다.

Properties

protected Advisor[] $advisorArr
protected string[] $advisorMap
protected array $aliases 타겟 오브젝트의 alias, 타겟 오브젝트의 긴 class name을 간략하게 사용할 수 있도록 alias를 등록할 수 있다.

Methods

__construct(array $aliases = array())

생성자.

void
put(Advisor $advisor, null $relation = null)

advisor를 추가한다.

getAdvisorList(string $pointCutStr)

주어진 pointcut에 해당하는 advisor 목록을 반환한다.

getPointCutBox(string $class, string $method)

주어진 PointCut(class, method)에 해당하는 advisor들의 정보를 가지는 box(리스트)를 반환한다.

void
setAlias(string $alias, string $class)

Pointcut의 class를 판단할 때 대신 사용될 수 있는 alias를 지정한다.

array
getAliasList()

alias list를 반환한다.

Details

at line 57
__construct(array $aliases = array())

생성자.

Parameters

array $aliases 타겟 오브젝트의 alias 목록

at line 75
void put(Advisor $advisor, null $relation = null)

advisor를 추가한다.

Parameters

Advisor $advisor 추가하려는 advisor
null $relation 추가하려는 advisor의 before, after 관계에 있는 advisor 목록. 아래와 같은 형식이 될 수 있다.

                         ['before'=>'advisor1', 'after'=>['advisor2','advisor3']]

Return Value

void

at line 123
AdvisorList getAdvisorList(string $pointCutStr)

주어진 pointcut에 해당하는 advisor 목록을 반환한다.

Parameters

string $pointCutStr pointcut를 지정하는 문자열이다. pointcut은 '{CLASS명}@{METHOD명}'의 형식이어야 한다.

Return Value

AdvisorList

at line 142
protected stdClass getPointCutBox(string $class, string $method)

주어진 PointCut(class, method)에 해당하는 advisor들의 정보를 가지는 box(리스트)를 반환한다.

Parameters

string $class pointcut의 class명
string $method pointcut의 method명

Return Value

stdClass

at line 167
void setAlias(string $alias, string $class)

Pointcut의 class를 판단할 때 대신 사용될 수 있는 alias를 지정한다.

Parameters

string $alias 지정할 alias
string $class alias의 대상 원본 클래스명

Return Value

void

at line 182
array getAliasList()

alias list를 반환한다.

Return Value

array