
ReflectionProperty::setRawValueWithoutLazyInitialization 메소드는 객체의 속성을 반영할 때 Lazy Initialization을 사용하지 않고 직접 값을 설정하는 메소드입니다.
Lazy Initialization은 객체의 속성이 처음 사용될 때까지 초기화되지 않은 상태로 유지하고, 실제로 초기화되는 시점을 지연시키는 기법입니다. 이 메소드는 이러한 지연 초기화를 무시하고, 즉시 속성을 초기화합니다.
예를 들어, 객체의 속성이 초기화되지 않았을 때, 이 메소드는 속성을 초기화하고, 속성에 값을 설정합니다.
#hostingforum.kr
php
class User {
private $name;
public function getName() {
return $this->name;
}
public function setName($name) {
$this->name = $name;
}
}
$user = new User();
$reflectionProperty = new ReflectionProperty($user, 'name');
$reflectionProperty->setAccessible(true);
$reflectionProperty->setRawValueWithoutLazyInitialization('John');
echo $user->getName(); // John
이 예제에서, User 객체의 name 속성이 초기화되지 않았을 때, ReflectionProperty::setRawValueWithoutLazyInitialization 메소드는 속성을 초기화하고, 'John' 값을 설정합니다.
2025-07-18 17:27