PHP – проблема производительности и памяти с глобальными переменными

Гипотетическая ситуация: я запускаю сложный сайт в php, и я использую множество глобальных переменных.

я мог бы хранить переменные в существующей глобальной области действия, скажем $_REQUEST['userInfo'] , $_REQUEST['foo'] и $_REQUEST['bar'] и т. д. и помещать много разных вещей в область запроса ( которые будут надлежащим образом использоваться, поскольку эти данные относятся к самому запросу).

или

я мог бы использовать строки, такие как global $userInfo, $foo, $bar; в большинстве моих функций.

есть ли производительность или разница в использовании памяти для любого решения?

один из них немного легче набирать … так есть ли руководство по лучшим практикам?

Ваши глобальные переменные уже доступны в $GLOBALS['foo'], $GLOBALS['bar'] и т. Д. Это более ясное указание на внутреннюю область функций, которую они получают из глобальной области, чем с использованием global ключевого слова. Не должно влиять на производительность каким-либо значимым образом.

Многие расскажут вам, что лучше всего избегать глобальных переменных в первую очередь и вместо этого передавать переменные через вызовы функций и конструкторы объектов.

Оба довольно плохие. Я бы предложил использовать одноэлементные или статические классы.

Что касается использования памяти, не было бы никакой заметной разницы.