| PHP Ръководство | ||
|---|---|---|
| Предишна страница | Глава 12. Променливи | Следваща страница |
PHP предоставя голям брой предефинирани променливи във всеки скрипт, който стартира. Много от тези променливи, обаче, не могат да бъдат напълно документирани, тъй като те са зависими от това кой сървър работи, версията и устройството на сървъра, както и от други фактори. Някои от тези променливи няма да бъдат налични, когато PHP се пусне на командния ред. За списък с тези променливи, моля вижда раздела в Запазени Предефинирани Променливи.
| Внимание |
|
В PHP 4.2.0 и по-късно, стойността по подразбиране на PHP директивата register_globals е
off (изключено). Това е значителна промяна в PHP. register_globals
бидейки off влияе на набора от предефинирани порменливи, налични
в глобалния обхват. Например, за да вземете За информация, свързана с тази промяна, прочетете конфигурационната точка за register_globals, главата по сигурността в Използване на Регистриране на Глобални , също както и PHP 4.1.0 и 4.2.0 пусковите анонси. Използването на наличните PHP Запазени Предефинирани Променливи, като суперглобалните масиви, е за предпочитане. |
От версия 4.1.0 нататък, PHP предоставя допълнителен набор от предефинирани масиви,
съдържащи променливи от уеб сървъра (ако е приложимо), от обкръжението, и от
потребителския вход. Тези нови масиви са по-специални с това, че са автоматично
глобални, т.е. автоматично налични във всеки обхват. Поради тази причина, те
често биват познавани като 'автоглобални' или 'суперглобални'. (Няма механизъм в PHP
за потребителски дефинирани суперглобални.) Суперглобалните са изброени по-долу;
все пак, за списък с тяхното съдържание и по-нататъшна дискусия за предефинираните
променливи в PHP и тяхната същност, моля вижте раздела
Запазени Предефинирани Променливи.
Също, ще забележите, че старите предефинирани променливи ($HTTP_*_VARS)
все още съществуват.
От PHP 5.0.0, дългите PHP
предефинирани променливи
могат да бъдат изключени посредством
register_long_arrays
директивата.
Променливи променливи: Суперглобалните не могат да бъдат използвани като променливи променливи във функции или методи на клас.
Забележка: Макар че и двете - суперглобалните и HTTP_*_VARS, могат да съществуват едновременно, те не са идентични, така че модифицирането на едното няма да промени другото.
Ако някои променливи в variables_order не са зададени, съответните им PHP предефинирани масиви също остават празни.
PHP Суперглобални
Съдържа референция към всяка променлива, която текущо е налична
в глобалния обхват на скрипта. Ключовете на този масив са имената на
глобалните променливи.
$GLOBALS съществува от PHP 3.
Променливи, присвоени от уеб сървъра или иначе пряко свързани с обкръжението
на изпълнение на текущия скрипт. Аналогичен на стария масив $HTTP_SERVER_VARS
(който все още е наличен, но не е препоръчителен).
Променливи, предоставени на скрипта чрез URL низа за питане (query string). Аналогичен на стария масив
$HTTP_GET_VARS (който все още е наличен, но не е препоръчителен).
Променливи, предоставени на скрипта чрез HTTP POST. Аналогичен на стария масив
$HTTP_POST_VARS (който все още е наличен, но не е препоръчителен).
Променливи, предоставени на скрипта чрез HTTP бисквитки. Аналогичен на стария масив
$HTTP_COOKIE_VARS (който все още е наличен, но не е препоръчителен).
Променливи, предоставени на скрипта чрез HTTP post файлови качвания.
Аналогичен на стария масив $HTTP_POST_FILES
(който все още е наличен, но не е препоръчителен).
Вж. POST метод качвания за повече
информация.
Променливи, предоставени на скрипта чрез обкръжението. Аналогичен на стария масив
$HTTP_ENV_VARS (който все още е наличен, но не е препоръчителен).
Променливи, предоставени на скрипта чрез входящите механизми GET, POST и COOKIE, и на които по тази причина не може да се вярва. Съществуването и редът на вмъкванията на променливи в този масив са дефинирани съгласно конфигурационната директива variables_order. Този масив няма пряк аналог във версии на PHP преди 4.1.0. Вж. също import_request_variables().
| Внимание |
|
От PHP 4.3.0, файловата информацията от |
Забележка: При пускане от командния ред , това няма да включи записите
argvиargc; те са налични в масива$_SERVER.
Текущите променливи, които са регистрирани в сесията на скрипт. Аналогичен на стария масив
$HTTP_SESSION_VARS (който все още е наличен, но не е препоръчителен). Вж.
раздел Функции за управление на сесия за повече информация.
| Предишна страница | Начало | Следваща страница |
| Променливи | Начало на раздела | Обхват на променливи |