Comment organiser des modules externes sans espaces de noms
Le problème avec les espaces de noms
Les espaces de noms semblent être un choix naturel pour organiser les types dans des modules externes, mais ils introduire plusieurs limitations :
-
Pollution de l'espace de noms :Chaque module crée le sien espace de noms, ce qui rend difficile la recherche et la réutilisation des types dans les modules.
-
Collisions de noms : Si deux modules définissent des types portant le même nom, l'espace de noms n'empêche pas les collisions et le compilateur le fera signaler une erreur.
-
Imbrication excessive : L'utilisation d'espaces de noms dans les modules conduit à une structure encombrée avec plusieurs niveaux de imbrication.
L'analogie de la Candy Cup
Imaginez utiliser une tasse séparée pour chaque type de bonbon (par exemple, Twix, PeanutButterCup). Cette approche est inefficace car vous vous retrouvez avec plusieurs tasses et la relation entre les bonbons n'est pas claire.
Au lieu de cela, il est préférable d'organiser les bonbons en fonction de leur emplacement dans le système de fichiers, de la même manière que les modules sont organisés au sein un projet.
Principes clés d'organisation des modules
Drapeaux rouges
- Un fichier contenant uniquement le module d'export Foo { ... >
- Un fichier avec un seul classe d'exportation ou fonction d'exportation autre que celle par défaut
- Plusieurs fichiers avec le même module d'exportation Foo { ... } (ils ne se combineront pas)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn