
get_mangled_object_vars 함수는 PHP의 내부 변수 이름을 노출하는 함수입니다. 이 함수는 PHP의 이름 매니지먼트 시스템을 사용하여 변수 이름을 매핑합니다. 이름 매니지먼트 시스템은 PHP의 내부 변수 이름을 노출하는 데 사용됩니다.
이 함수를 사용하여 객체의 변수를 추출할 때, 변수 이름이 mangled 되어 나타나는 이유는 PHP의 이름 매니지먼트 시스템 때문입니다. 이름 매니지먼트 시스템은 PHP의 내부 변수 이름을 노출하는 데 사용되며, 이 시스템은 변수 이름을 매핑하여 내부 변수 이름을 노출합니다.
이 함수를 사용하여 변수 이름을 원래 이름으로 변환하는 방법은 다음과 같습니다.
1. get_object_vars 함수를 사용하여 객체의 변수를 추출합니다.
2. foreach 루프를 사용하여 변수 이름을 매핑합니다.
3. 변수 이름을 원래 이름으로 변환합니다.
예를 들어, 다음 코드를 사용할 때, $obj->var1과 $obj->var2의 변수 이름이 mangled 되어 나타납니다.
#hostingforum.kr
php
class Test {
public $var1 = 'value1';
public $var2 = 'value2';
public function __construct() {
$this->var1 = 'new_value1';
$this->var2 = 'new_value2';
}
}
$obj = new Test();
$vars = get_mangled_object_vars($obj);
foreach ($vars as $name => $value) {
$original_name = str_replace('_', '-', $name);
echo "$original_name: $valuen";
}
이 코드는 get_mangled_object_vars 함수를 사용하여 객체의 변수를 추출하고, foreach 루프를 사용하여 변수 이름을 매핑합니다. 매핑된 변수 이름을 원래 이름으로 변환하여 출력합니다.
2025-07-20 06:56