그냥 null 개체 패턴 (http://phpmaster.com/the-null-object-pattern-polymorphism-in-domain-models/)에 대한 훌륭한 기사를 읽었으며 기존 코드에 구현할 계획입니다.PHP null 개체 대 기본 null 값
제 질문은 완전히 새로운 'null class'가이 일을하는 가장 좋은 방법일까요? 이전에는 NULL로 생성자의 기본값을 설정했습니다. 그렇다면 클래스의 빈 껍데기를 만들 수 있습니다. 예를 들어 :
$person = new person(1, 'John Doe', '[email protected]');
을 그리고 나는 '널 (null)'객체를 원한다면 내가 할 것이다 : 나는 실제 개체를 원하는 경우
class person{
private $_personId;
private $_name;
private $_email;
private $_phone;
public function __construct($_personId, $_name, $_email, $_phone = NULL){
//set the vars here
}
}
내가 할 것
$person = new person(NULL, NULL, NULL);
거기에 이 접근법에 어떤 함정이라도 있습니까?
이,'$ 사람 = 새로운 사람 '만큼 효과적 일 것 (NULL, NULL, NULL); ' –
네가 맞아, 나는 그 질문을 망쳤다. 나는 그것을 편집 할 것이다. –
실제 확인 작업을 수행하지 않고 Null을 사용할 수있는 경우 NullObject에 대한 이유는별로 없습니다. '__construct ($ _ personId = NULL, $ _name = NULL, $ _email = NULL)'을 사용하면 모든 인수가 _ 선택 사항임을 나타냅니다. 그렇지 않다면, 디폴트 NULL 값을주지 말고'__construct ($ _ personId, $ _name, $ _email)'(또는 첫 번째가 필요할 수도 있고, 두 번째는 옵션 일 수도있다. 인수가 전달되지 않으면 오류가 발생합니다. 로그에서 수분이 많고 유용하며 요점 오류가있어서 빠르게 디버깅 할 수 있습니다. – Wrikken