J'essaie d'utiliser la fonction php method_exists, mais j'ai besoin de vérifier si la méthode existe dans la classe parente d'un objet.method_exists dans la classe parente php
donc:
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'))
{
/* ... */
}
Mais aucune de ces travaillent. Je ne suis pas sûr de ce qu'il faut essayer ensuite.
Merci pour toute aide!
Je crois que 'is_callable()' nécessite une instance de classe comme premier index de tableau, pas un nom de classe. c'est à dire. 'if (is_callable (array ($ myChild, 'myFunction'))) - bien que pour que cela fonctionne, votre classe' Child' doit étendre le 'Parent' (comme mentionné ci-dessous). – MrWhite
Avez-vous besoin de savoir si a) exactement la classe parente implémente une méthode b) tout ancêtre d'une classe donnée implémente une méthode c) un objet d'une classe dérivée "a" une méthode spécifique d) vous pouvez appeler une méthode spécifique sur un objet? – VolkerK