Для написания кода с прицелом на будущее рекомендуют не замусоривать глобальное пространство имён переменными, функциями и классами. Такой подход помогает избегать конфликтов со сторонними библиотеками и будущими дополнениями к языку.
Названия функций и классов определяют в выделенном пространстве имён, чтобы избежать конфликтов имён.
<?php
namespace MyProject;
function my_function()
{
return true;
}
\MyProject\my_function();
?>
По-прежнему придётся отслеживать действующие пространства имён, но как только разработчик определяется с пространством имён, которое будет использовать, он добавляет в него функции и классы, не думая о конфликтах имён.
Рекомендуется ограничивать количество переменных, которые добавляются в глобальную область видимости, чтобы предотвратить конфликты имён со сторонним кодом.
Замечание: Область видимости переменных
Из-за правил области видимости языка PHP, переменные, которые определили внутри функций и методов, не находятся в глобальной области действия переменных и поэтому не конфликтуют с другими переменными, которые определили в глобальной области действия переменных.