PHP Sabitler etiketine sahip kayıtlar gösteriliyor.
PHP Sabitler etiketine sahip kayıtlar gösteriliyor.

PHP'de Sabitler (Constants)

PHP'de sabitler, basit bir değerin adı olup PHP kodlarının çalışması esnasında değiştirilemez. sabitler öntanımlı olarak büyük-küçük harf duyarlıdır. Geleneksel olarak, sabit isimleri daima büyük harfle yazı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. Sabitlerin kullanım amacı programda herhangi bir değerin değişmesini engellemektir. Sabitler sadece bir kez tanımlanıp bir daha değiştirilemediği için güvenlidir.

Bir Sabit Tanımlayalım:
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.

Örnek 1:
<?php
define('bayraktar', 'ibrahimbayraktar.net');
// bayraktar adında bir sabit oluşturduk ve değerini ibrahimbayraktar.net yaptık
?>

Bir sabite verilen isim PHP'de varolan diğer tüm isimlerle aynı kurallara tabidir. Geçerli bir sabit ismi bir harfle ya da alt çizgi imi ile başlar, herhangi bir sayıda harf, rakam ya da alt çizgi ile devam eder. Sabitler içine boolean, integer, float ve string değerler atanabilir. 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.

Örnek 2:
<?php
define("pi",3.14);
echo pi;
?>

const anahtar kelimesi ile bir sabit tanımlayalım:
<?php
const UNIVERSITE= "BOZOK";
?>
const anahtar kelimesi ile tanımlanan sabitlerin isimlerinin tırnak içinde yazılması zorunlu değildir. define() fonksiyonu ile tanımlanan sabitlerle bir istisna dışında aynı kurallara tabidir ve aynı özellikleri taşır. Bir sabit define() ile programın herhangi bir yerinde tanımlanabilirken const ile tanımlanan sabitler; fonksiyonlar, akış denetimleri, döngüler gibi iç bloklarda değil programın en üst seviyesinde tanımlanmalıdır. Bunun nedeni const ile tanımlanan sabitlerin derleme zamanı ele alınmasıdır.

defined() işlevi ile bir sabitin tanımlanıp tanımlanmadığına bakalım: 
<?php
define('bayraktar', 'ibrahimbayraktar.net');
echo defined('bayraktar');
?>
Örnekte çıktı olarak ekranda 1 yazacaktır, "1" sonucun olumlu olduğunu göstermektedir. Sonuc olumsuz ise ekranda bir şey yazmayacaktır.