PHpullh

PHP · 객체지향

값 객체

유효성 규칙을 객체 생성 시점에 묶어 두는 값 객체 예제입니다.

객체지향중급value-objectvalidationemail

핵심 설명

유효성 규칙을 객체 생성 시점에 묶어 두는 값 객체 예제입니다.

PHP code

<?php
readonly class Email {
    public function __construct(public string $value) {
        if (!filter_var($value, FILTER_VALIDATE_EMAIL)) {
            throw new InvalidArgumentException('invalid email');
        }
    }
}

echo (new Email('team@example.com'))->value;

학습 팁

클래스 예제는 생성자, 가시성, 협력 객체의 책임을 함께 보면 실무 감각이 빨리 붙습니다.

주의할 점

가시성, final, readonly 제약을 무시하면 객체 설계가 금방 흐트러집니다.

자주 묻는 질문

값 객체란 무엇인가요?

유효성 규칙을 객체 생성 시점에 묶어 두는 값 객체 예제입니다.

값 객체 학습 시 주의할 점은 무엇인가요?

가시성, final, readonly 제약을 무시하면 객체 설계가 금방 흐트러집니다.