Ce n'est pas un paramètre car au final tu fais bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part public static string AjouteCool(this string s) { return s + " cool"; }'.
maChaine.AjouteCool() sans paramètre ! c'est une extension à string.
On est des milliers à avoir vu l'intérêt tout de suite.
Par exemple : tu peux te faire des extensions à string pour dire que tu veux proposer une méthode qui ne renvoie que les 10 premiers mots (seul 10 sera en paramètre, pas la chaine)...
Tu peux faire une extension à DateTime pour te renvoyer une date dans un format exotique sans avoir à le spécifier (aucun paramètre dans ce cas, pas même la date).
Récémment les méthodes d'extenions m'ont permis de faire des extend à la suite Kendo UI ASP.NET MVC. J'ai pu crée des composants custom sans étendre de classe. Mais là on est dans du spécifique.
Pour revenir à de la simplicité, on peut également imaginer une extension à float mais qui va retourner un string pour retourner un format de float spécifique : de 10.5 on peut avoir ToEuro();
Donc ça permet de faire des raccourcis très simplement, rangés dans une même classe. OUI tu peux te faire une classe statique mais alors tu auras :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 float MonFloat = 10.5; MonFloat.ToEuro() Retournera : 10,5
Ca ajoute une visibilité et une maintenabilité très sympa.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 float MonFloat = 10.5; MaClasseStatique.ToEuro(MonFloat);
Et bien je disais dans mon 1er message, que j'aimais bien ces méthodes d'extensions (comme bcp de dév C#) et qu'en PHP on aurait probablement jamais ça car il est en typage faible.Je te rappelle que l'on parlais au préalable du typage fort vis-à-vis du typage faible. Franchement, je ne voie pas le rapport avec ta démonstration.
C'est tout ! Il n'empêche encore un fois que j'adore php...
Là dessus tu es parti sur le fait que mon exemple était "le principe de l'objet" : c'est faux et c'est tout.
Pour moi ça s'arrêtait là mais tu as continué en "m'expliquant la vie" ... En toute logique je me défends.






Répondre avec citation






Pas de questions techniques par MP ! Le forum est là pour ça...

).



- en supposant que la 7 en release sorte cette année 


Partager