15 Mart 2008 Cumartesi

Süper-Global Diziler

Süper-Global Diziler
PHP 4.1.0 sürümünden sonra süper-global diziler ismiyle yeni bir kavram ortaya çıktı. Bu diziler daha önceki sürümlerde kullanılan ve ortam değişkenlerini içeren önceden tanımlanmış dizilerin düzenlenmiş halde olanlarıdır.
PHP 4.1.0 sürümünden önce, bu ortam değerlerini kullanmamız için gereken diziler:

POST metodundan gelen değerler için $HTTP_POST_VARS,
GET metodundan gelen değerler için $HTTP_GET_VARS,
SERVER ortam değerleri için $HTTP_SERVER_VARS,
Oturum değerleri için $HTTP_SESSION_VARS,
Çerez değerleri için $HTTP_COOKIE_VARS,
Tüm ortam değerleri için $HTTP_ENV_VARS
olarak kullanılıyordu. Bu sürümden sonra bunlar:
$HTTP_POST_VARS yerine $_POST,
$HTTP_GET_VARS yerine $_GET,
$HTTP_SERVER_VARS yerine $_SERVER,
$HTTP_SESSION_VARS yerine $_SESSION,
$HTTP_COOKIE_VARS yerine $_COOKIE,
$HTTP_ENV_VARS yerine ise $_ENV
olarak değiştirildi. Bu isim değişimlerine ek olarak, yeni süper-global diziler global tanımlanmış halde geliyorlar. Kısaca betiklerde, bir fonksiyon içerisinde bu dizileri kullanmak istediğimizde bunları global olarak tanımlamamıza gerek kalmıyor.
Aşağıdaki örneklerde PHP 4.1.0 sürümünden önce ve süper-global dizilerin kullanımları basitçe verilmiştir.

Örnek 1: PHP 4.1.0 sürümünden önce kullanımı
function ornek() {
# $HTTP_POST_VARS dizisinden değerleri almak
# için global olarak tanımlamamız gerekiyor.
global $HTTP_POST_VARS;

echo $HTTP_POST_VARS['test'];
}
?>



Örnek 2: PHP 4.1.0 sürümünden sonra kullanımı (süper-global diziler)
function ornek() {
# $_POST dizisini global olarak tanımlamamıza
# ihtiyaç duyulmuyor.

echo $_POST['test'];
}
?>

Hiç yorum yok: