[PHP5] PROTOTYPE: CLASSE SIMULANT L'OVERLOADING DES FONCTIONS OU MÉTHODES

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 21 oct. 2007 à 12:11
Calak Messages postés 38 Date d'inscription mercredi 28 août 2002 Statut Membre Dernière intervention 24 janvier 2010 - 12 juil. 2008 à 13:49
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/44447-php5-prototype-classe-simulant-l-overloading-des-fonctions-ou-methodes

Calak Messages postés 38 Date d'inscription mercredi 28 août 2002 Statut Membre Dernière intervention 24 janvier 2010
12 juil. 2008 à 13:49
Merci pour ce compliment.
Il date un peu maintenant ce code, et en le relisant je viens de me rendre compte de deux trois bugs, des noms de variables erronés (ex: ligne 235, $arg au lieu de $args)

Normalement, courran de la semaine prochaine, j'aurai le net chez moi, donc j'en profiterai pour actualiser cette classe ^^
DijxDreaM Messages postés 4 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 14 juillet 2008
11 juil. 2008 à 03:36
J'avais conçu une classe dans laquelle l'on devait déclarer les méthodes surchargées. Mais le fait de récupérer les commentaires dument saisis dans le code me parait une alternative plus que satisfaisante.

En attendant la sortie de PHP6 qui je l'éspère corrigera ce gros soucis, pour ne pas être plus vulgaire ^^... Je te remercie pour ton joli code !
Calak Messages postés 38 Date d'inscription mercredi 28 août 2002 Statut Membre Dernière intervention 24 janvier 2010
26 oct. 2007 à 16:34
Voila, une update...
J'ai corrigé certains bug que je n'avais pas vu.
J'ai également implémenté une nouvelle méthode pour encore faciliter la tâche ( setOverload() ):P
Enfin, même s'il n'y en a pas encore assez ç mon gout, j'ai quelque peu completé les exemples ;)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
25 oct. 2007 à 22:14
Oh j'ai pensé à __call() en effet, dès que j'ai lu ton code. Mais ce serait sans doute moins propre.
Calak Messages postés 38 Date d'inscription mercredi 28 août 2002 Statut Membre Dernière intervention 24 janvier 2010
25 oct. 2007 à 15:21
Vi, comme je l'avais dis, je n'ai pas accès régulièrement au net :S
Donc j'en avais profité d'être sur le net et d'acoir une version de la classe (certe, Beta) avec moi, pour la poster.
Là j'ai refais les exemples (cfr la TODO list dans le code de la classe) concrets et pauffiné ça et là mais bien que j'aie un acces au net à ma disposition, j'ai pas la classe sous la main >_<
Et j'ai aussi avancé la doc :P

Promis, demain j'essaye de reposter une nouvelle version.
(et je corrige aussi la/les fautes d'anglais que je verrai ^_^" )

Merci en tout cas pour le "c'est très bien codé" ça fait toujours plaisir :P
Et sinon, c'est sur qu'il y a moyen de faire "plus simple" on foutant direct des pseudo méthodes dans la méthode magique "__call", mais le but est ici d'automatiser la chose ^^
Voilouuuu, donc dès que je peux, je reposte ^^
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
25 oct. 2007 à 08:58
idem dans le debug_exemple, quand pour tester, je remplace :
$e->dump($array);
par
$e->dump(5);
rien ne marche j'ai :
Fatal error: Uncaught exception 'Exception' with message 'Any valid overload function/method found' in
...
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
22 oct. 2007 à 18:50
Heu surcharges des méthodes, pardon, j'écris n'importe quoi des fois ;-)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 oct. 2007 à 12:11
Hello,

bon, chez moi tes exemples ne fontionnent pas. Enfin, l'exemple prototype ne fonctionne pas, pas essayé les autres encore.
J'ai bien lu ton code, mais sans pouvoir le tester directement, ça va me prendre du temps pour en tirer des conclusions.
Du coup, mon 1er feeling est que c'est très bien codé, mais que ça me semble très complexe pour le but visé. Mais encire une fois, c'est parce que j'ai du mal à tester. Je tombe toujours sur l'exception 'Any valid overload function/method found', ce qui , entre nous, n'est pas du bon anglais ;-) No valid... serait plus correct.
Bref, le but, c'est bien de faire des surcharges de constructeurs ?
Rejoignez-nous