Null オブジェクト パターン ( http://phpmaster.com/the-null-object-pattern-polymorphism-in-domain-models/ )に関するすばらしい記事を読み、既存のコードに実装することを計画しています。
私の質問は、まったく新しい「ヌルクラス」がこれを行うための最良の方法でしょうか? 以前は、コンストラクターのデフォルト値を 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(1, 'John Doe', 'doe@gmail.com');
そして、「null」オブジェクトが必要な場合は、次のようにします。
$person = new person(NULL, NULL, NULL);
このアプローチに落とし穴はありますか?