I don't think it makes sense nowadays. We have namespaces now!
Si vous voulez écrire du code portable, il est recommandé de ne pas placer de nombreuses variables, fonctions ou classes dans l'espace de noms global. Cela empêchera les conflits de nommage avec le code tiers ainsi que des ajouts possibles au langage.
Une façon commune de prévenir les conflits de noms de fonctions et de classes est de les ajouter à leur propre namespace.
<?php
namespace MyProject;
function my_function() {
return true;
}
\MyProject\my_function();
Cela a encore besoin de vous pour garder une trace des espaces de noms déjà utilisés, mais une fois que vous avez décidé sur un espace de noms que vous allez utiliser, vous pouvez ajouter toutes les fonctions et les classes à elle sans avoir à penser à nouveau les conflits.
Il est considéré comme la meilleure pratique pour limiter le nombre de variables ajoutées à la portée globale afin d'éviter les conflits de nommage avec le code tiers.
Note: Portée des variables
En raison des règles de portée de PHP, les variables définies à l'intérieur des fonctions et des méthodes ne sont pas dans la portée globale et, en tant que telles, ne peuvent pas entrer en conflit avec d'autres variables définies dans la portée globale.
I don't think it makes sense nowadays. We have namespaces now!
The javascript community has developed a strong cultural bias against adding anything to the global namespace. (See e.g. Addy Osmani's article on Essential JavaScript Namespacing Patterns .) Namespaces have been available in JS for many years and are ubiquitous. There is also a great deal of freely available tutorial material for the interested reader.
Even though nowadays we do have namespaces, for the cases in which the user chooses to not use namespaces theses tips should be followed.
@willian at gt44 dot com: What about clashes of the namespace? It is still good advice to check for previously used names before assigning anything to the global namespace.