Начиная с версии РНР 4.1.0 стали доступны некоторые предопределенные переменные. Они известны как суперглобальные переменные. Смысл этого названия заключается в том, что они предоставляются средой окружения РНР и имеют глобальную область видимости внутри программы, то есть доступны абсолютно из любого ее места.
В этих суперглобальных переменных содержится масса полезной информации о текущей работающей программе и ее окружении (см. таблицу). Эти переменные имеют структуру ассоциативных массивов, которые будут рассмотрены в главе «Массивы в РНР».
Имя суперглобальной переменной | Ее содержимое |
---|---|
$GLOBALS | Все переменные, которые на данный момент определены в глобальной области видимости сценария. Имена переменных служат ключами массива |
$_SERVER | Информация о заголовках, путях, местах расположения сценариев. Элементы этого массива создаются веб-сервером, и это не дает гарантии, что каждый веб-сервер будет предоставлять какую-то часть информации или ее всю |
$_GET | Переменные, которые передаются текущему сценарию методом HTTP GET |
$_POST | Переменные, которые передаются текущему сценарию методом HTTP POST |
$_FILES | Элементы, подгруженные к текущему сценарию методом HTTP POST |
$_COOKIE | Переменные, переданные текущему сценарию посредством HTTP cookies |
$_SESSION | Переменные сессии, доступные текущему сценарию |
$_REQUEST | Содержимое информации, переданной от браузера; по умолчанию $_GET , $_POST и $_COOKIE |
$_ENV | Переменные, переданные текущему сценарию методом environment |
В именах всех суперглобальных переменных (кроме первой) присутствует один знак подчеркивания и используются только заглавные буквы, поэтому, чтобы избежать путаницы, не следует присваивать своим переменным имена, оформленные в таком же стиле.
Для иллюстрации порядка их использования рассмотрим часть той информации, которая может быть использована сайтами. Среди многой другой интересной информации, предоставляемой суперглобальными переменными, есть и URL-адрес той страницы, с которой пользователь был перенаправлен на текущую веб-страницу. Эта информация может быть получена следующим образом:
$came_from = $_SERVER['HTTP_REFERRER'];
Как видите, ничего сложного. Если же пользователь зашел непосредственно на вашу страницу, к примеру, набрав ее URL-адрес непосредственно в браузере, переменной $came_from
будет присвоена пустая строка.
Статические переменные | Суперглобальные переменные и проблемы безопасности |