Bonjour à tous,
Cela fait un moment que j'utilise les fonctionnalités de la version 5.3 de PHP dans mon framework et il ne manque plus que les espaces de noms, seulement voilà, je suis pris d'une indécision totale quant à la forme à adopter. Voyez-vous je ne suis pas fan des espaces de noms "comme l'arborescence de mes fichiers" parce que mon framework est avant tout modulaire et qu'on peut trouver des composants à de nombreux endroits : le framework lui même, le CMS Publishr, le dossier par défaut de l'application, le dossier du thème du site... Le framework peut-être aussi partagé par plusieurs installation auquel cas il n'est même pas à la racine du site. Bref, il me faut un espace de nom "avec du sens" plutôt que "géographique".
Pour le moment mes classes sont nommées ainsi : <flat_module_id>_<rootclass>. Selon ce gabarit, l'activerecord du module "system.nodes" a pour classe "system_nodes_WdActiveRecord". Comme je travaille beaucoup avec MooTools je serais tenté de transformer cela avec l'espace de noms suivant : "\ActiveRecord\SystemNodes", seulement je me dis que la classe EST l'active record et finalement SystemNodes l'espace de nom : SystemNodes\ActiveRecord...
Un autre exemple qui me rend très perplexe, les opérations. Les opérations (ou actions dans d'autres framework MVC) sont des instances de classes. La classe de base est "WdOperation" avec des variantes telles que "save_WdOperation", "delete_WdOperation", "'config_WdOperation"... et celles implémentées par les modules e.g. "system_nodes__save_WdOperation", "contents__save_WdOperation", "articles__save_WdOperation". J'ai pris ces trois derniers en exemples parce que le troisième hérite du deuxième qui hérite du premier.
Pour les types je pensais à quelque chose comme :
\Core\Operation
\Core\Operation\Save (puisque "Save" est un sous type d'opération)
\Core\Operation\Delete
\Core\Operation\Config...
Pour les modules je suis plus perplexe :
\articles\Core\Operation\Save
\Core\Operation\articles\Save
\Core\Operation\Save\articles
Je ne sais pas quoi choisir — tout m'a l'air nul — c'est pourquoi je cherche quelque conseil auprès des professionnels que vous êtes. Des suggestions ?