php check if method overridden in child class

谁都会走 提交于 2019-12-04 23:38:15
nice ass

Check if the declaring class matches the class of the object:

$reflector = new \ReflectionMethod($ob, 'createTable');
$isProto = ($reflector->getDeclaringClass()->getName() !== get_class($ob));

PHP Manual links:

To get this information, you have to use ReflectionClass. You could try getMethod and check the class name of the method.

$class = new ReflectionClass($this);
$method = $class->getMethod("yourMethod");
if ($method->class == 'classname') {
    //.. do something
}

But keep in mind, that reflection isn't very fast, so be careful with usage.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!