Променливи
PHP Manual

Предварително-дефинирани променливи

PHP предоставя голям брой предварително-дефинирани променливи във всеки скрипт, който пуска. Много от тези променливи, обаче, не могат да бъдат напълно документирани, тъй като те са зависими от това кой сървър работи, версията и устройството на сървъра, както и от други фактори. Някои от тези променливи няма да бъдат налични, когато PHP се пусне на командния ред. За списък с тези променливи, моля вижте раздела в Запазени предварително-дефинирани променливи.

Предупреждение

От PHP 4.2.0 стойността по подразбиране на директивата register_globals в PHP е off (изключено). Това е значителна промяна в PHP. register_globals бидейки off влияе на набора от предварително-дефинирани порменливи, налични в глобалната област на действие. Например, за да вземете DOCUMENT_ROOT ще използвате $_SERVER['DOCUMENT_ROOT'] вместо $DOCUMENT_ROOT, или $_GET['id'] от URL-а http://www.example.com/test.php?id=3 вместо $id, или $_ENV['HOME'] вместо $HOME.

За информация, свързана с тази промяна, прочетете конфигурационната точка за register_globals, главата по сигурността в Използване на регистриране на глобални , също както и PHP съобщенията към изданията на » 4.1.0 и » 4.2.0.

Използването на наличните запазени предварително-дефинирани променливи в PHP, като свръхглобалните масиви, е за предпочитане.

От версия 4.1.0 нататък PHP предоставя допълнителен набор от предварително-дефинирани масиви, съдържащи променливи от уеб сървъра (ако е приложимо), от обкръжението, и от потребителския вход. Тези нови масиви са по-специални с това, че са автоматично глобални, т.е. автоматично налични във всеки обхват. Поради тази причина, те често биват познавани като "свръхглобални" (superglobals). (Няма механизъм в PHP за потребителски дефинирани свръхглобални променливи.) Свръхглобалните променливи са изброени по-долу; все пак, за списък с тяхното съдържание и по-нататъшна дискусия за предварително-дефинираните променливи в PHP и тяхната същност, моля вижте раздела Запазени предварително-дефинирани променливи. Също, ще забележите, че старите предварително-дефинирани променливи ($HTTP_*_VARS) все още съществуват. От PHP 5.0.0, дългите PHP предварително-дефинираните променливи могат да бъдат изключени посредством register_long_arrays директивата.

Забележка: Променливи променливи
Свръхглобалните не могат да бъдат използвани като променливи променливи във функции или методи на клас.

Забележка: Макар че и двете - свръхглобалните и HTTP_*_VARS, могат да съществуват едновременно, те не са идентични, така че модифицирането на едното няма да промени другото.

Ако някои променливи в variables_order не са зададени, съответните им PHP предварително-дефинирани масиви също остават празни.


Променливи
PHP Manual