PHP · 객체지향
__get 과 __set 주의 깊게 쓰기
동적 프로퍼티를 흉내 내는 매직 메서드 예제이며, 남용 시 가독성이 크게 떨어진다는 점도 함께 보여줍니다.
객체지향고급magic-method__get__set
핵심 설명
동적 프로퍼티를 흉내 내는 매직 메서드 예제이며, 남용 시 가독성이 크게 떨어진다는 점도 함께 보여줍니다.
PHP code
<?php
class MetaBag {
private array $values = [];
public function __set(string $name, mixed $value): void {
$this->values[$name] = $value;
}
public function __get(string $name): mixed {
return $this->values[$name] ?? null;
}
}
$bag = new MetaBag();
$bag->framework = 'Laravel';
echo $bag->framework;학습 팁
클래스 예제는 생성자, 가시성, 협력 객체의 책임을 함께 보면 실무 감각이 빨리 붙습니다.
주의할 점
__get과 __set은 편하지만 IDE 지원과 정적 분석이 약해지므로 정말 필요한 경우에만 쓰는 편이 좋습니다.
자주 묻는 질문
__get 과 __set 주의 깊게 쓰기란 무엇인가요?
동적 프로퍼티를 흉내 내는 매직 메서드 예제이며, 남용 시 가독성이 크게 떨어진다는 점도 함께 보여줍니다.
__get 과 __set 주의 깊게 쓰기 학습 시 주의할 점은 무엇인가요?
__get과 __set은 편하지만 IDE 지원과 정적 분석이 약해지므로 정말 필요한 경우에만 쓰는 편이 좋습니다.
Continue Learning
PHP 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.