1. Есть основной движок, написанный в процедурном стиле, которым занимаются другие разработчики. Он изобилует глобальными переменными.
2. Есть мое дополнение для этого движка, которое я стараюсь писать в ООП стиле.
Вопрос: чтобы не писать в каждом методе каждого класса global $variable, $variable1 и т. д., какой из способов оптимальнее:
1) Сделать трейт и добавлять его в классы, в которых требуется доступ к глобальным переменным, с подобным методом:
public function &__get($name)
{
return $GLOBALS[$name];
}
2) Или в каждом методе добираться до глобальных переменных с помощью:
$variable = $GLOBALS['variable'];
$variable1 = $GLOBALS['variable1'];
// и т. д.
3) Или реализовать простенький DJ-контейнер и добавить туда $GLOBALS в качестве зависимости, чтобы в нужных местах обращаться к ячейке контейнера?
4) Ваши варианты?