перехватить вызов несуществующего метода можно с помощью методов __call() и __callStatic() - они (или один из эти 2-х методов - в зависимости от ситуации) должны быть определены для того класса, вызов "несуществующего" метода которого вы наблюдаете.
Иногда подобная возможность бывает полезной - например если необхожимо узнать какой именно метод вызывали или для повыешния гибкости приложения (какие-то методы ещё не реализованы, но их уже можно вызвать) и т.д.