Q:

Узнать, есть ли в классе "рабочие" методы

Есть класс с методами
class Test {

    public function m1() {

    }

    public function m2() {

    }
}

Есть наследник:
class randomName extends Test {
    /*
    public function m1() {

    }

    public function m2() {

    }
    */

    public function m111() {

    }

    public function m222() {

    }
}

Прошу заметить, что в наследнике сейчас закоменчены методы родителя. 
Вопрос: можно ли как-то проверить, что те самые методы не активны? Я хочу это для того, чтобы если не активны (закоменчены или вообще отсутсвуют), т вызвать методы m111 или m222 соответствнно.
Классы рефлексии, is_callable и method_exists не помогают это выявить достоверно. Либо я не понимаю как.

A:

Нашел путь решения на enSO.
$reflector = new \ReflectionMethod($ob, 'createTable');
$isProto = ($reflector->getDeclaringClass()->getName() !== get_class($ob));

Суть в чем: проверяется наличие метода createTable в объекте  $ob, далее сравнивается имя класса, в котором объявлен метод $reflector->getDeclaringClass()->getName() и имя текущего объекта get_class($ob).  Если они совпадают - то значит метод был переопределен, если нет - значит нет (значит например был закоментирован или просто не переопределен)

