空对象模式
2017-08-09 本文已影响16人
零一间
<?php
/**
* @desc: 空对象模式
* 空对象模式(Null Object Pattern):用一个空对象取代 NULL,减少对实例的检查。这样的空对象可以在数据不可用的时候提供默认的行为
*
* 解决在需要一个对象时返回一个null值,使其调用函数出错的情况
*/
class Person{
public function code(){
echo 'code makes me happy';
}
}
class NullObject{
public function __call($method,$args){
echo 'this is NullOject';
}
}
function getPerson($name){
if($name == 'phper'){
return new Person();
}else{
return new NullObject();
}
}
$phper=getPerson('c#');
$phper->code();