调用方法时如何使用被调用方法的结果自动调用类中的另一个方法?

时间:2017-09-08 06:02:14

标签: php

我的班级很少有这样的方法..

White house

我要做的是在调用class ClassA { public functon funcA(arguments) : bool { // return true or false } public functon funcB(arguments) : bool { // return true or false } private function ifFalse(){ // do something } } ifFalse()时自动调用funcA()方法并返回false。

我怎么能做到这一点? 我顺便使用php 7。

1 个答案:

答案 0 :(得分:1)

您可以在其他功能中调用该功能:

$ret = false;
// return true or false
if (!$ret) $this->ifFalse();
return $ret;

如果你想要更多"魔法",你可以这样做:

public function __call($name, $arguments)
{
    switch($name) {
        case 'funcA':
        case 'funcB':
            $value = $this->$name(...$arguments);
            if (!$value) $this->ifFalse();
            return $value;
        break;
    }
}

private function funcA(arguments) : bool
{
    // return true or false
}

private function funcB(arguments) : bool
{
    // return true or false
}