
ReflectionProperty::isLazy는 PHP 7.1.0에서 추가된 메소드로, 프로퍼티의 읽기/쓰기 속성을 확인하는 메소드입니다. 이 메소드는 프로퍼티가 lazy loading을 사용하는지 여부를 반환합니다.
lazy loading이란, 프로퍼티가 실제로 사용될 때까지 초기화되지 않는 것을 의미합니다. 예를 들어, 다음 코드를 살펴보겠습니다.
#hostingforum.kr
php
class Test {
private $lazyProperty;
public function __construct() {
$this->lazyProperty = 'hello';
}
public function getLazyProperty() {
if (!$this->lazyProperty) {
$this->lazyProperty = 'hello';
}
return $this->lazyProperty;
}
}
이 경우, `$reflectionProperty->isLazy()`는 `true`를 반환합니다. 왜냐하면, 프로퍼티가 실제로 사용될 때까지 초기화되지 않기 때문입니다.
반면, 다음 코드를 살펴보겠습니다.
#hostingforum.kr
php
class Test {
public $lazyProperty;
public function __construct() {
$this->lazyProperty = 'hello';
}
public function getLazyProperty() {
return $this->lazyProperty;
}
}
이 경우, `$reflectionProperty->isLazy()`는 `false`를 반환합니다. 왜냐하면, 프로퍼티가 초기화된 후에 사용되기 때문입니다.
따라서, ReflectionProperty::isLazy는 프로퍼티가 lazy loading을 사용하는지 여부를 판단하는 기준은, 프로퍼티가 실제로 사용될 때까지 초기화되는지 여부입니다.
2025-04-24 22:10