PHpullh
학습 라이브러리/PHP/__get 과 __set 주의 깊게 쓰기

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 지원과 정적 분석이 약해지므로 정말 필요한 경우에만 쓰는 편이 좋습니다.