ProxyInvocationHandler
class ProxyInvocationHandler
이 클래스는 Proxy class의 method가 호출되었을 때 작동한다.
target class의 origin method가 실행되기 전에 호출되어야 할 advisor를 호출하는 역할을 한다.
Properties
Object | $proxyObject | ||
protected string | $targetMethodName | ||
protected Closure | $originMethodCall |
Methods
__construct(Object $proxyObject, string $methodName, AdvisorList $advisorList)
ProxyInvocationHandler constructor.
mixed
mixed
__invoke()
proxy object의 메소드가 실행될 경우, 메소드에 지정된 advisor를 모두 실행시킨다.
Object
getTargetObject()
target object(proxy object)를 반환한다.
string
getTargetMethodName()
호출된 메소드명을 반환한다.
Details
at line 56
__construct(Object $proxyObject, string $methodName, AdvisorList $advisorList)
ProxyInvocationHandler constructor.
at line 71
mixed
callProxy(array $args, Closure $then)
target class의 origin method가 실행되기 전에 호출되어야 할 advisor를 호출한 다음, 마지막으로 origin method를 호출한다.
at line 85
mixed
__invoke()
proxy object의 메소드가 실행될 경우, 메소드에 지정된 advisor를 모두 실행시킨다.
이때 decorator 패턴으로 advisor들이 실행되는데, 각 advisor들이 next call을 할 때 proxy는 자기 자신을 호출하도록 하여 결국 이 메소드가 실행된다. 이 메소드가 호출되면 다음 advisor를 찾아서 실행시켜주고, 더이상 실행할 advisor가 없을 경우 원래 호출된 proxy object의 메소드를 실행한다.
at line 105
Object
getTargetObject()
target object(proxy object)를 반환한다.
at line 115
string
getTargetMethodName()
호출된 메소드명을 반환한다.