PHP sabitler

► Detaylı anlatım

Sabit, basit bir değerin adı olup PHP kodlarının çalışması esnasında değiştirilemez. Sabitlerde küçük ve büyük harfler farklı şekilde değerlendirilir. Sabit isimlerinin yazılmasında genellikle büyük harf kullanılır. Sabit adı bir harf veya alt çizgi karakteri ile başlamalı ve harf, rakam ve alt çizgi karakterlerinden oluşan ifadelerle devam etmelidir.

Sabit tanımlamaları

Bir sabit tanımlamak için define() fonksiyonunu veya const anahtar kelimesini kullanabilirsiniz. Bir sabiti tanımladıktan sonra değiştiremez veya tanımsız hale getiremezsiniz.

Sabitlerin değişkenlerden en büyük farkı; bir kez tanımlandıktan sonra değiştirilememeleri ve tüm PHP kodları içinde otomatik bir şekilde global olarak değerlendirilmelidir.

Sabitler içine sadece boolean, integer, float ve string değerler yerleştirebilirsiniz. Sabiti tanımladıktan sonra, sabitin ismini kullanarak sabit değerine erişebilirsiniz. Adını bildiğiniz bir sabitin değerini dinamik olarak almak için constant() fonksiyonunu ve tanımlanmış tüm sabitlerin bir listesini almak için ise get_defined_constants() fonksiyonunu kullanabilirsiniz.

const anahtar kelimesi ile sabit tanımlaması daima bir PHP dosyasının en başında yapılmalıdır. Başka bir ifade ile, fonksiyon, döngü ve if işlem satırlarında tanımlanamaz.


// define fonksiyonu ile yapılan sabit tanımlamaları
define ("CONBOOL01", TRUE);
define ("CONINT01", 121);
define ("CONFLOAT01", 75.23);
define ("CONSTR01", "String sabiti");

// const anahtar kelimesi ile yapılan sabit tanımlamaları
const CONBOOL02 = TRUE;
const CONINT02 = 121;
const CONFLOAT02 = 75.23;
const CONSTR02 = "String sabiti";


<html>
<body>

<?php
    define ("CONBOOL01", TRUE);
    define ("CONINT01", 121);
    define ("CONFLOAT01", 75.23);
    define ("CONSTR01", "Birinci String sabiti");

    const CONBOOL02 = FALSE;
    const CONINT02 = 247;
    const CONFLOAT02 = 45.52;
    const CONSTR02 = "İkinci String sabiti";
   
    echo CONBOOL01 . ' ' . CONINT01 . ' ' . CONFLOAT01 . ' ' . CONSTR01 . '<br/>';
    echo CONBOOL02 . ' ' . CONINT02 . ' ' . CONFLOAT02 . ' ' . CONSTR02 . '<br/>';  
?>

</body>
</html>

Yukarıdaki dosyayı çalıştırdığımızda, web tarayıcımızda aşağıdaki ifadeler karşımıza çıkar:

1 121 75.23 Birinci String sabiti
247 45.52 İkinci String sabiti