Страница 80 из 813 Предопределенные переменные PHP автоматически создает довольно много переменных (которые называются предопределенными переменными), доступных в любой точке программы. Эти переменные являются массивами, и доступ к ним может осуществляться по имени, как и к любым другим переменным. По умолчанию PHP сконфигурирован так, чтобы не передавать непосредственно эти переменные в сценарии (в файле php.ini register_globals=Off). Чтобы получить доступ к хранящимся в них данным, необходимо использовать их полные имена. Например, если в форме имеется текстовое поле с именем username и это поле заполнено и форма отправлена (в данном случае предполагается, что метод отправки POST), то получить доступ к данным поля можно с помощью следующего кода:$my_new_username = $_POST[username]; Предопределенные переменные также называются сутргмбальныти, поскольку они доступны независимо от области действия. Предопределенные переменные хранят большинство информации, содержащейся в HTTP-запросах и ответах, включая серверные переменные, строки запроса, переменные форм и т.д. Предопределенные переменные, так же как и обычные переменные, можно использовать в любых целях, но некоторые из них могут отсутствовать в какой-либо конкретной инсталляции PHP, так как Web-серверы отличаются данными, передаваемыми посредством HTTP. В следующем разделе показано, как получить данные, хранящиеся в предопределенных переменных. В дополнение к предопределенным переменным, для получения базовой информации об инсталляции PHP и операционной системе можно использовать встроенную PHP-функцию phpinfo(). Данная функция позволяет не только протестировать инсталляцию и работу PHP (см. главу 1), но также дает возможность выяснить многие подробности о том, как установлен PHP на сервере. Например, можно выяснить версию PHP, операционную систему, используемую на данном сервере, и другие параметры. Простейший способ определить, какую информацию предоставляет функция phpinfo(), заключается в запуске файла test01.php, созданного в главе 1. Однако в данном случае это делается не только для того, чтобы проверить работоспособность инсталляции PHP (как это было в главе 1), но и чтобы получить возможность изучить различные данные, предоставляемые функцией phpinfo(). В ходе выполнения функция создает хорошо отформатированную и детально проработанную страницу (включая все необходимые HTML-теги), на которой представлена информация о версии PHP, операционной системе, версии Zend Engine, установках в php.ini, дополнительных модулях и предопределенных переменных. Фрагмент страницы, создаваемой функцией phpinfo(), показан на рис. 3.1. Переменные в HTTP-запросах и ответах Между клиентом и Web-сервером передается очень много данных. Например, вместе с каждым запросом от клиента к серверу передается IP-адрес (для того чтобы сервер знал, куда отправлять ответ). Кроме IP-адреса также передаются подробные сведения о версии браузера, инициирующего данный запрос, cookie-файлы, данные форм, версия Web-сервера и другая информация. Эти данные содержатся в предопределенных переменных, структурированных в виде ассоциативных массивов, поэтому доступ к ним можно осуществлять по имени, как и в случае любых других массивов. Содержимое каждой из этих переменных и их назначение представлено после следующего раздела "Практика".
|