Я действительно ненавижу глобальные переменные - возможно, его программист на С# во мне, но когда я работаю на PHP, я каждый день чищу зубы, когда мне приходится делать что-то вроде этого:
$strUsername = $_GET['username'];
Да, я сильно упрощаю его, и да, да, я все это правильно дезинфицирую. Фактически, для структуры, которую я построил, все суперглобалы захватываются почти в начале выполнения и вводятся зависимой оттуда.
Я просмотрел эту функцию в руководстве PHP (вы действительно каждый день узнаете что-то новое): filter_input_array().
Итак, теперь, технически, я могу сделать это вместо того, чтобы хватать все из GET superglobal:
$GETdata = filter_input_array(INPUT_GET);
.... и т.д. и т.д. и т.д. с другими, такими как POST, REQUEST и т.д. Мой вопрос: следует ли использовать filter_input_array и, таким образом, избегать бича суперглобалов, или есть некоторая причина придерживаться их и забывать об использовании функций filter_input? Что все остальные испытывают с этим?
EDIT: я забыл одно: функции filter_input не работают с любыми модификациями уровня script, которые вы добавляете в суперглобалы, поэтому, если я это сделаю: $_GET['cheese'] = 'puff';
попытка сделать filter_input(INPUT_GET, 'cheese');
позже вернет значение null. Это нормально, так как я зависим от инъекций, но он может поймать кого-то из охраны позже, если они не знают.