PHP: Как убедиться, что скрипт не потерпит неудачу, если метод не существует? - PullRequest
1 голос
/ 19 июня 2010

У меня есть PHP-скрипт, который вызывает методы из класса, который я написал. Однако из-за особенностей системы существуют случаи, когда вызываемый метод не существует, например,

$snippets = new Snippets();

echo $snippets->fakeMethod();

в приведенном выше примере fakeMethod() не существует, и скрипт завершается сбоем с фатальной ошибкой и останавливается вообще.

Мне нужно решение, при котором либо метод просто молча завершается сбоем, либо метод проверяется сначала для всех методов в классе с использованием method_exists(), однако я не могу поместить операторы if в сценарий, например

if(method_exists(fakemethod, snippets)){ 

echo $snippets->fakeMethod();

}

вместо этого "работу" нужно как-то выполнять в классе. Есть ли решение?

Ответы [ 2 ]

3 голосов
/ 19 июня 2010

Вы можете определить «магию» метод __call

1 голос
/ 19 июня 2010

См .: __ call ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...