Допустим, у вас есть одноэлементный шаблон или что-то еще:
class Smth{
public static function Foo(){
static $instance;
if(!condition()) return false; // <-- it's nothing...
if(!($instance instanceof FooClass)) $instance = new FooClass();
return $instance; // <-- it's a object and has that method
}
}
, поэтому, если я вызову Smth::foo()->A_foo_method()
при достижении condition()
, метод будет выполнен, и все в порядке.
Но если condition()
не выполнено, очевидно, что я получаю фатальную ошибку, сообщающую, что Smth::foo()
не является объектом и т. Д. *
Как я могу просто проигнорировать 2-й случай.?Я имею в виду ничего не делать и не показывать фатальную ошибку.
(кроме проверки условия () вне класса при вызове метода)