Je suis au stade de la pré-version d'un projet PHP open-source, qui, je l'espère, sera utilisé par d'autres développeurs dans leurs propres projets. Le projet ne prend actuellement pas en charge les espaces de noms et j'essaie d'évaluer s'il doit utiliser des espaces de noms ou la convention de dénomination PEAR de Dir_Subdir_Class, qui semble avoir tous les mêmes avantages techniques sans certains des inconvénients. Pour être honnête, ce n'est pas un choix facile.
Quelques points à considérer contre les espaces de noms:
- L'une des façons dont mon projet essaie de se différencier en fournissant une API plus simple que d'autres projets similaires. Parce que les espaces de noms sont nouveaux et aussi parce qu'ils sont plus compliqués que la convention d'appellation PEAR, les introduire dans la base de code rendra mon projet moins simple à utiliser. En les mettant en œuvre, je perds une certaine différenciation en termes de facilité d'utilisation.
- Bien que je puisse voir certains avantages des espaces de noms, ils ne semblent pas résoudre un problème qui doit être résolu dans un produit PHP moderne qui utilise la convention de dénomination PEAR. Les conflits de dénomination lors de l'utilisation de mon projet doivent être minimes, voire inexistants.
- Cet article me donne une pause dans l'adoption des espaces de noms car leur mise en œuvre a été moins que stellaire.
- J'hésite également à sauter dans un train qui ne peut aller nulle part. Les espaces de noms étant une nouvelle fonctionnalité de PHP, je ne suis pas encore convaincu qu'ils deviendront standard.
- Compatibilité. Presque tout le code PHP qui a jamais été écrit n'utilise pas d'espaces de noms car c'est une nouvelle fonctionnalité. D'autres bibliothèques seraient incompatibles sans conversion.
Quelques points pour l'utilisation des espaces de noms:
- La perception. Si les espaces de noms deviennent standard et une meilleure pratique, mon projet pourrait rapidement devenir considéré comme non professionnel et obsolète sans eux.
- Compétition. Alors que certains projets PHP concurrents commencent à utiliser des espaces de noms dans leurs dernières versions, beaucoup n'ont pas encore fait le saut. Cela pourrait donner à mon projet une longueur d'avance sur d'autres projets.
- Les travaux futurs seraient plus faciles si je faisais le changement maintenant avant que le projet ne devienne public plutôt qu'après, où je devrais en supporter deux versions pendant un certain temps.
- Je souhaite prendre en charge les meilleures pratiques et si les espaces de noms deviennent une meilleure pratique pour PHP, mon projet devrait les utiliser.
D'après ce que je peux dire, vous devez choisir une façon ou l'autre; vous ne pouvez pas faire les deux. Y a-t-il des points que je n'ai pas pris en compte? Y a-t-il des signes objectifs (pas de guerres de flammes, s'il vous plaît) qui pointent vers ou contre les espaces de noms devenant la norme professionnelle pour PHP? J'apprécierais toute idée ou ressource que vous seriez prêt à partager car j'ai besoin de prendre une décision bientôt.