class MethodDefinitionPass implements Pass

타겟 클래스의 프록시 클래스 생성을 위해 필요한 코드를 생성할 때, 프록시 클래스의 Method 선언부의 변환을 담당하는 클래스이다.

Methods

string
apply(string $code, ProxyConfig $config)

주어진 코드에 ProxyConfig의 정보를 적용한다.

string
renderParams(ReflectionMethod $method)

주어진 메소드의 파라메터 목록을 작성한다.

string
appendToClass(string $class, string $code)

작성한 메소드 목록을 클래스 코드에 추가한다.

string
renderMethodBody(bool $isCallMagicMethod = false)

메소드 내부 코드를 생성한다. 메소드가 실행될 때, Interception(AOP) 로직을 호출한다.

string
getTypeHintAsString(ReflectionParameter $rfp)

파라메터의 TypeHint를 반환한다.

Details

at line 39
string apply(string $code, ProxyConfig $config)

주어진 코드에 ProxyConfig의 정보를 적용한다.

Parameters

string $code 프록시 클래스 탬플릿 코드
ProxyConfig $config 동적으로 생성하려는 프록시 클래스 정보

Return Value

string

at line 68
protected string renderParams(ReflectionMethod $method)

주어진 메소드의 파라메터 목록을 작성한다.

Parameters

ReflectionMethod $method 메소드

Return Value

string

at line 100
protected string appendToClass(string $class, string $code)

작성한 메소드 목록을 클래스 코드에 추가한다.

Parameters

string $class 클래스 코드
string $code 메소드 선언부 코드

Return Value

string

at line 114
private string renderMethodBody(bool $isCallMagicMethod = false)

메소드 내부 코드를 생성한다. 메소드가 실행될 때, Interception(AOP) 로직을 호출한다.

Parameters

bool $isCallMagicMethod __call 메소드일 경우 별도 처리한다.

Return Value

string

at line 146
protected string getTypeHintAsString(ReflectionParameter $rfp)

파라메터의 TypeHint를 반환한다.

Parameters

ReflectionParameter $rfp 파라메터 정보

Return Value

string