Как автоматически вызвать другой метод в классе с результатом вызванного метода при вызове метода?

У меня есть класс с несколькими методами, как это ..

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() или же funcB() называются и они возвращают ложные.

Как я могу достичь этого?
Я использую PHP 7, кстати.

0

Решение

Вы можете просто вызвать функцию внутри другой функции:

$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
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector