具有非null对象的PHP null对象

时间:2014-09-09 07:19:50

标签: php polymorphism

我一直在尝试用PHP包围空对象。

如果我的课程看起来像这样:

class A {
    public function test() {
        $test = $this->run( 'test', __FUNCTION__ );
    }

    public function run($callback) {
        if ( 'test' ) == false {
        $null = new A_Null_Object;
        return $null->$callback();
    }
}

然后使用一个子类作为空对象:

class A_Null_Object extends A {
    public function test() {
        return 'Test was invalid';
    }
}

创建一个“非null”对象/子类也没有意义,这样可以在父类中没有任何额外的格式化或条件的情况下返回$ test吗? (这首先是重构原始类的目的)或者这首先是否打败了null对象的目的?

我觉得我在这里遗漏了一些东西,所以任何意见都会受到赞赏。

0 个答案:

没有答案