Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

surcharge de fonction dans une classe

4 réponses
Avatar
Joe
hello,
quelques unes de mes pages php utilisent des classes avec des surcharges
de fonction

par ex:
class MaClasse
{
function toto()
{
...
}

function toto($unparam)
{
...
}


}

ca marchait tres bien avec une version précédente de php, mais depuis la
mise à jour vers 4.3.3 de mon hébergeur, cela génère une erreur :
"cannot redeclare function"

bug ?

merci
joe

4 réponses

Avatar
alicante
Joe wrote in news:biiulg$4n0$:


par ex:
class MaClasse
{
function toto()
{
...
}

function toto($unparam)
{
...
}


}

ca marchait tres bien avec une version précédente de php, mais depuis
la mise à jour vers 4.3.3 de mon hébergeur, cela génère une erreur :
"cannot redeclare function"



euh ! je n'étonne que les versions précédentes ne retournaient pas
d'erreur. La surchage de fonction n'existe pas comme telle en PHP, mais
la l'extension des classes oui :

class Ma_Classe_Parente {


function bonjour() {
echo 'hello';
}


}

class Ma_Classe extends Ma_Classe_Parente {

function bonjour($toto) {
echo 'hello '.$toto;
}


}

$soitpoli = new Ma_classe();
$soipoli->bonjour('madame');

Avatar
Patrick Renaud
Etienne SOBOLE wrote:

Donc comme le disait spock dans startrek VI
Si tu elimine l'imposible ce qui demeure quoiqu'improbable ne peut etre que
la vérité !!!


<culture littéraire> Ca vient du Sherlock Holmes d'Arthur Conan Doyle à

l'origine, non ? </culture littéraire>

Avatar
Etienne SOBOLE
"Patrick Renaud" a écrit dans le
message de news: biknhb$3b2$

<culture littéraire> Ca vient du Sherlock Holmes d'Arthur Conan Doyle à
l'origine, non ? </culture littéraire>


Oui c'est exacte! Je savais !!!
mais j'aime bien StarTrek ;)

PS : du coup, ca fait d'Arthur Conan Doyle l'ancètre de Spock :) (c.f. ST
VI)

Etienne

Avatar
KEvin
clement a proclame :
Bonjour,
J'ai eu le meme problème avec mes constructeurs dans mes classes et comme je
programme exclusivement que des classes en ce moment ca m'embete beaucoup.
Donc si quelqu'un à une idée, merci d'avance.


en utilisant des parametres optionnels il est possible de faire
quasiment tout comme de la surcharge de fonctions


--
KEvin