Estoy tratando de usar la función php method_exists, pero necesito verificar si el método existe en la clase padre de un objeto.method_exists en la clase padre php
manera:
class Parent
{
public function myFunction()
{
/* ... */
}
}
class Child extends Parent
{
/* ... */
}
$myChild = new Child();
if (method_exists($myChild, 'myFunction'))
{
/* ... */
}
if (method_exists(Parent, 'myFunction'))
{
/* ... */
}
if (is_callable(array('Parent', 'myFunction'))
{
/* ... */
}
Pero ninguna de las anteriores están trabajando. No estoy seguro de qué probar después.
¡Gracias por cualquier ayuda!
Creo que 'is_callable()' requiere una instancia de clase como primer índice de matriz, no como nombre de clase. es decir. 'if (is_callable (array ($ myChild, 'myFunction')))) - aunque para que esto funcione, su clase' Child' necesita extender 'Parent' (como se menciona a continuación). – MrWhite
¿Necesita saber si a) exactamente la clase padre implementa un método b) cualquier antecesor de una clase determinada implementa un método c) un objeto de una clase derivada "tiene" un método específico d) puede llamar a un método específico en ¿un objeto? – VolkerK