J'ai deux classes commefonction PHP problème de compatibilité
class A{
public function Get($a='0',$b=''){
retrun 0;
}
}
class B extends A{
public function Get($a){
return 0;
}
}
Il travaillait dans la machine locale avec PHP 5.2.5 quand je l'application migré sur le serveur en temps réel avec PHP 5.3.4, il donne l'erreur suivante:
Declaration of B::Get() should be compatible with that of A::get()
Que dois-je faire? Je ne peux pas changer la version de PHP du serveur distant.
Je ne pense pas que ce soit une erreur, c'est juste un avis. la solution la plus simple consiste à ajouter le paramètre seond à la fonction, par exemple. 'function get ($ a, $ b = NULL)' donc vous n'avez pas besoin de donner le second param, mais la déclaration est la même pour les deux. – Rufinus
Mais j'ai des millions de fonctions – Kutta
juste une supposition, mais utilisez-vous des interfaces? nevermind - pouvez-vous vérifier si c'est une erreur ou un avis? Si c'est le cas, vous pouvez désactiver ce type d'avis dans php.ini ou (.htaccess ou ini_set()). Rechercher E_STRICT (afaik) – Rufinus