Хорошо, поэтому я работал и использовал свои глобальные переменные до сих пор, и не было проблем с простым вызовом $ USER для получения идентификатора пользователя.
В большинстве случаев от людей на SO и некоторых читающих здесь и там все это было так негативно по отношению к использованию глобальной переменной.
Так что теперь я готов изменить способ и не использовать глобальные переменные.
Прямо сейчас я включаю функцию protect (), которая проверяет ваш сеанс и создает глобальные переменные, такие как $ USER, $ USERTYPE.
И тогда я могу просто использовать эти переменные столько раз, сколько захочу в файле.
Что может заменить это? Я думал о создании $ USER = grabUserid (); который вернет идентификатор пользователя, и то же самое для типа пользователя, то есть уже 2 функции, и тогда мне нужно будет создать функцию с запросами к базе данных для каждой переменной?
А что касается моего $ connect, который является объектом PDO для базы данных, обрабатывающей все мои запросы, мне нужно было бы сделать $ connect = connectdb (); тоже
А что касается http-запросов с js в другой php-файл, мне нужно было бы передать его, но между ними это может быть небезопасно (если вы думаете о безопасности), поскольку вы можете просто манипулировать идентификатором пользователя между ними ..
Или, может быть, есть третье решение сделать это? Или я должен просто придерживаться глобалов? И раз и навсегда, пожалуйста, укажите, почему глобальные переменные так плохи? это безопасность? или вид грязного кодирования?