
ReflectionMethod::invoke 메소드는 인자를 전달할 때, PHP의 일반적인 함수 호출 방식과 유사하게 인자를 배열로 전달합니다.
예를 들어, 다음 코드를 보겠습니다.
#hostingforum.kr
php
$method = new ReflectionMethod('MyClass', 'myMethod');
$method->invoke($obj, ['인자1', '인자2']);
위 코드에서, `$obj`는 `MyClass`의 인스턴스입니다. `$method->invoke($obj, ['인자1', '인자2']);` 부분에서, 인자 `인자1`과 `인자2`는 배열로 전달됩니다.
이러한 방식으로 인자를 전달하면, `myMethod` 메소드의 인자 `$arg1`과 `$arg2`는 배열의 요소로 전달됩니다.
#hostingforum.kr
php
class MyClass {
public function myMethod($arg1, $arg2) {
// 메소드의 로직
}
}
위 코드에서, `$method->invoke($obj, ['인자1', '인자2']);` 부분에서, `$arg1`은 `'인자1'`, `$arg2`은 `'인자2'`로 전달됩니다.
또한, 인자를 전달할 때, 인자의 타입을 지정할 수도 있습니다. 예를 들어, 다음 코드를 보겠습니다.
#hostingforum.kr
php
$method = new ReflectionMethod('MyClass', 'myMethod');
$method->invoke($obj, ['인자1', 2]);
위 코드에서, `$method->invoke($obj, ['인자1', 2]);` 부분에서, 인자 `인자1`은 문자열 타입, 인자 `2`은 정수 타입으로 전달됩니다.
이러한 방식으로 인자를 전달하면, `myMethod` 메소드의 인자 `$arg1`은 문자열 타입, `$arg2`은 정수 타입으로 전달됩니다.
#hostingforum.kr
php
class MyClass {
public function myMethod($arg1, $arg2) {
// 메소드의 로직
}
}
위 코드에서, `$method->invoke($obj, ['인자1', 2]);` 부분에서, `$arg1`은 `'인자1'`, `$arg2`은 `2`로 전달됩니다.
이러한 방식으로 인자를 전달하면, `ReflectionMethod::invoke` 메소드는 인자를 배열로 전달하여 메소드의 인자로 전달합니다.
2025-03-03 19:29