Référence : Le type de retour de... doit être compatible avec... ou l'attribut #[ReturnTypeWillChange] doit être utilisé
Contexte : types de retour et covariance
Les règles de covariance en PHP dictent que les types de retour dans les classes étendues doivent être compatibles ou plus spécifiques que ceux de la classe parent. Cependant, étendre une classe avec un type de retour différent ou manquant peut rompre l'hypothèse de covariance.
Compatibilité ascendante et dépréciation
L'introduction de types de retour dans les méthodes existantes briserait la dépendance au code sur les anciennes versions de PHP sans eux. Par conséquent, PHP utilise des types de retour provisoires avec des avis de dépréciation pour permettre les adaptations.
L'attribut #[ReturnTypeWillChange]
L'attribut #[ReturnTypeWillChange] informe PHP 8.1 de supprimer le avis de dépréciation pour une méthode avec un changement de type de retour prévu. Cela laisse du temps pour les mises à jour sans interruption immédiate.
Résolution
Déterminez la méthode concernée et le type de retour correct à partir de l'avis de dépréciation. Les options de résolution incluent :
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!