8796 sujets

Développement web côté serveur, CMS

Bonjour,

Je suis en train de reprendre toute une série de fonctions PHP, diverses et variées, créées au gré des besoins de développement.

Ce sont toutes des fonctions, donc, développement procédural...

Le hic, c'est que tout est mélangé. J'aurais aimé les regrouper par thème.
Déjà, je peux créer un fichier PHP par domaine : manipulation de chaines de caractères, tableau, HTML, ....
Ensuite, il m'est venu à l'idée de les regrouper, sous forme statique, dans des classes (genre HTMLHelper, ArrayHelper, StringHelper...).

L'avantage, vu le nombre de fonctions, c'est que si je cherche une de mes méthodes pour manipuler les chaines de caractères par exemple, je sais que ce sera dans la classe StringHelper.

J'avoue que je suis moyennement satisfait de la solution Smiley decu ... Même si dans le reste de ma "boite à outils", j'ai de "vrais" classes, là, j'ai l'impression d'utiliser un marteau pour tuer une mouche. En restant avec des classes pour regrouper mes "fonctions", je reste toutefois cohérent puisque je manipulerai toutes mes outils via des classes...

Voila mes cas de conscience...

Que me conseillez-vous ?


J'ai pense aussi aux espaces de noms, mais là, je n'ai aucune expérience d'utilisation....
Modifié par marcmendez (30 Jul 2009 - 10:43)
Salut,

Je pense que ta méthode n'est pas mauvaise, tant que tes fonctions et tes classes ont des noms facilemment différentiables et que tout soit bien ordonné ça devrait aller. Après tu peux créer un classe FctGen qui contiendra les fonctions qui n'appartiennent pas aux autres classes (StringHelper, ArrayHelper...)

Pour les namespaces, c'est plus "général" que les classes, si je me rappelle bien, et sert, entre autres, à regrouper les classes. Ça permet d'avoir un code plus ordonné, un peu comme si l'on créait un dossier (namespace), que l'on y mettait quelques fichiers (classes), et que ces fichiers contiennent des lignes de codes.
Par contre c'est à partir de PHP 5.3.

Si tu ne l'as pas déjà lu : http://php.net/manual/fr/language.namespaces.basics.php

Donc si tu as aussi beaucoup de classes pour ces fonctions tu peux créer un namespace, FctUtils, par exemple, afin de les regrouper.
Salut,

marcmendez a écrit :
J'avoue que je suis moyennement satisfait de la solution Smiley decu ... Même si dans le reste de ma "boite à outils", j'ai de "vrais" classes, là, j'ai l'impression d'utiliser un marteau pour tuer une mouche.
Personnellement je pense que si tu es parti dans une factoristaion de ton code qui t'a amené à remplacer tes fonctions par des classes cela a du sens de le faire pour toutes tes fonctions peu importe si certaines n'apportent rien de plus. Smiley murf
Merci à tous pour vos avis. J'ai continué comme indiqué et j'ai presque fini la refonte de mes fonctions.