$GLOBALS
(PHP 4, PHP 5, PHP 7, PHP 8)
$GLOBALS — Küresel alanda bulunan bütün değişkenleri içerir
Açıklama
Geçerli betiğin küresel alanında tanımlı bütün değişkenleri içeren
bütünleşik bir dizidir. Değişken isimleri dizinin anahtarlarıdır.
Örnekler
Örnek 1 - $GLOBALS örneği
<?php
function test() {
$foo = "yerel değişken";
echo '$foo küresel alanda: ' . $GLOBALS["foo"] . "\n";
echo '$foo yerel alanda: ' . $foo . "\n";
}
$foo = "Örnek içerik";
test();
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir:
$foo küresel alanda: Örnek içerik
$foo yerel alanda: yerel değişken
Uyarı
PHP 8.1.0 itibariyle, $GLOBALS dizisinin tamamına
yazma erişimi artık desteklenmemektedir:
Örnek 2 - $GLOBALS dizisini yeniden yazmak hataya yol açar.
<?php
// Derleme sırasında hata verir:
$GLOBALS = [];
$GLOBALS += [];
$GLOBALS =& $x;
$x =& $GLOBALS;
unset($GLOBALS);
array_pop($GLOBALS);
// ... ve $GLOBALS üzerinde her türlü yaz/oku-yaz işlemi
?>
Notlar
Bilginize:
Bu bir süper küreseldir. Yani bir betiğin her yerinde geçerlidir.
Değişkene işlevler ve yöntemlerin içinden erişmek için global
$değişken; deyimine gerek yoktur.
Bilginize:
Değişken kullanılabilirliği
Diğer süper
küresellerden farklı olarak, $GLOBALS PHP'de her
zaman var olmuştur.
Bilginize:
PHP 8.1.0 itibariyle, $GLOBALS artık küresel
simge tablosunun
salt-okunur bir kopyasıdır. Yani, küresel değişkenlerde
kopyası üzerinden değişiklik yapılamaz. Evvelce,
$GLOBALS dizisine, PHP dizilerinin değerlerle
tanımlanması davranışı uygulanmaz ve küresel değişkenlerde kopyaları
üzerinden değişiklik yapılabilirdi.