Maison > développement back-end > tutoriel php > Pourquoi ma classe enfant PHP renvoie-t-elle une erreur « La déclaration de childClass::customMethod() devrait être compatible avec celle de parentClass::customMethod() » ?

Pourquoi ma classe enfant PHP renvoie-t-elle une erreur « La déclaration de childClass::customMethod() devrait être compatible avec celle de parentClass::customMethod() » ?

Mary-Kate Olsen
Libérer: 2024-12-13 20:02:15
original
405 Les gens l'ont consulté

Why Does My PHP Child Class Throw a

Erreur de compatibilité de déclaration de méthode PHP

Le message d'erreur "Normes strictes : la déclaration de childClass::customMethod() doit être compatible avec celle de parentClass::customMethod()" se produit en PHP lorsqu'une méthode déclarée dans une classe enfant n'est pas compatible avec la méthode correspondante dans la classe parent. classe.

Pour déterminer la cause de cette erreur, il est important de comprendre ce qui constitue la « compatibilité » entre deux méthodes :

  • Nombre et type d'arguments : La méthode de la classe enfant doit avoir le même nombre et le même type d'arguments que la méthode de la classe parent. Par exemple, si la méthode de la classe parent prend deux arguments entiers, la méthode de la classe enfant ne peut pas prendre un argument entier et un argument chaîne.
  • Type de retour : Le type de retour de la méthode de la classe enfant doit être identique ou être un sous-type du type de retour de la méthode de classe parent. Par exemple, si la méthode de la classe parent renvoie un booléen, la méthode de la classe enfant peut également renvoyer un booléen, mais elle ne peut pas renvoyer un entier.
  • Niveau d'accès : Le niveau d'accès de l'enfant La méthode de classe doit être égale ou moins restrictive que le niveau d’accès de la méthode de classe parent. En d'autres termes, une méthode protégée dans la classe parent ne peut pas être rendue privée dans la classe enfant.

Pour résoudre cette erreur, assurez-vous que la méthode de la classe enfant répond à ces directives de compatibilité. Pour des informations plus détaillées sur la compatibilité des déclarations de méthodes PHP, reportez-vous à la documentation officielle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal