空对象模式

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();
上一篇 下一篇

猜你喜欢

热点阅读