Para escrever código que não sofrerá problemas no futuro, é recomendado que você não coloque variáveis, funções ou classes no espaço global. Isto evitará colisões de nome com código de terceiros assim como futuros acréscimos à linguagem.
Uma forma de prevenir colisões de nomes em funções e classes é colocá-las em seus próprios namespaces.
<?php
namespace MyProject;
function my_function() {
return true;
}
\MyProject\my_function();
This still needs you to keep track of already used namespaces, but once you have decided on a namespace you will be using you can add all functions and classes to it without having to think about conflicts again.
Também é considerada uma boa prática limitar o número de variáveis alocadas no escopo global de forma a evitar colisões de nome com código de terceiros.
Nota: Variable scoping
Por causa das regras de escopo do PHP as variáveis definidas dentro de funções e métodos não estão no escopo global e não podem conflitar com variáveis definidas nesse escopo.