
runkit7_method_redefine 함수를 사용하여 메서드를 재정의 할 때, 기존 메서드의 변수를 재정의 할 수 없습니다.
예를 들어, 기존 메서드가 다음과 같이 정의되어 있다고 가정해 보겠습니다.
#hostingforum.kr
php
public function testMethod($arg1, $arg2) {
$a = $arg1;
$b = $arg2;
echo $a . ' ' . $b;
}
이 메서드를 runkit7_method_redefine 함수를 사용하여 재정의 할 때, 기존 메서드의 변수 $a와 $b는 그대로 유지됩니다.
#hostingforum.kr
php
runkit7_method_redefine('testMethod', function($arg1, $arg2) {
$a = '재정의 된 변수';
$b = '재정의 된 변수';
echo $a . ' ' . $b;
});
위의 예시에서, 기존 메서드의 변수 $a와 $b는 그대로 유지됩니다. 재정의 된 메서드에서 선언한 변수 $a와 $b는 새로운 변수로 간주되어, 기존 메서드의 변수 $a와 $b와는 별개의 변수가 됩니다.
즉, 기존 메서드의 변수를 재정의 하려면, 기존 메서드의 변수를 삭제하고, 새로운 변수를 선언해야 합니다.
#hostingforum.kr
php
runkit7_method_redefine('testMethod', function($arg1, $arg2) {
unset($this->a);
$this->a = '재정의 된 변수';
$this->b = '재정의 된 변수';
echo $this->a . ' ' . $this->b;
});
위의 예시에서, 기존 메서드의 변수 $a와 $b를 삭제하고, 새로운 변수를 선언하여 재정의 할 수 있습니다.
2025-04-05 13:47