Как уже говорили некоторые другие, нет ничего плохого в использовании глобалов; особенно на коротком скрипте, он может сделать ваш код более читабельным, чем скрывать его слишком большой структурой OO.
Но вы написали:
«Мне нужна [эта переменная] много функций, и я немного устаю или использую глобальный $ var_name; так много кода»
Это говорит о том, что вы на самом деле хотите, чтобы все эти функции, использующие $ var_name, были в классе. В качестве первого этапа рефакторинга вы передадите переменную из другого файла в конструктор, замените все ваши ссылки $var_name
на $this->var_name
, а затем удалите все строки global $var_name;
.
Вы можете получить один глобальный экземпляр этого класса, но это нормально. Глобальные переменные не являются злом, но они должны тщательно управляться и документироваться, поскольку ваш код становится все более сложным.
Если у вас его еще нет, книга Рефакторинга Мартина Фаулера - отличное пособие, которое поможет вам справиться с ситуацией, когда ваш 100-строчный сценарий теперь содержит 1000 строк, и это вас расстраивает. (Примеры в java, но все еще доступны для программиста PHP.)