İçindekiler
- Sabitlerin Tanımı
- Sabitlerin Özellikleri
- Geçerli Sabit Tanımlama Örnekleri
- Geçersiz Sabit Tanımlama Örnekleri
- Sihirli Sabitler (Magic Constants)
Sabitlerin tanımı
Program içerisinde bir defa tanımladıktan sonra bir daha değeri değişmeyecek ifadelere sabit (constant)
diyoruz. Sabitler de değişkenler gibidir. Ancak bir defa tanımlandıktan sonra (değer verildikten sonra) sonra program çalıştığı sürece değeri değiştirilmez. Sabit tanımlamak için define fonksiyonu kullanılır. Define fonksiyonunun genel yapısı :
define(isim,değer,kip-duyarsız=false)
- isim : sabit’in adı.
- değer : Sabitin değeri
- kip-duyarsız: Büyük – küçük harf ayrımı yapma. Ancak true olursa sabiti çağrırken büyük küçük harfe dikkat etmeden kullanabiliriz.
define ('Baslik','Sıfırdan PHP ile yazılım');
define ('YAZILIM',100)
if (YAZILIM < 110) echo Baslik;
1 ve 2. satırda iki adet sabit tanımlanmıştır. 3. satırdaki şart sağlanacağı için ekrana ‘Sıfırdan PHP ile yazılım‘ yazılacaktır.
Sabitlerin Özellikleri
- Sabit isimleri harf veya alt çizgi ile başlamalıdır.
- Sabitler rakam ile başlamaz.
- Değişkenlerden farklı olarak $ işareti ile başlamaz.
- Zorunlu değildir; genel bir kabul olarak sabit isimleri tamamen büyük harf ile yazılır.
- Tanımlandığı yerin önemi yoktur.
- Globaldir.
- Sabitlere sadece basit veri tipleri atanabilir.
- Sabit tanımlaması basit bir değer ataması ile yapılamaz. define() fonksiyonu şeklinde kullanılmalıdır.
Geçerli Sabit Tanımlama Örnekleri
define('BASLIK','Sıfırdan PHP ile yazılım');
define('YAZILIM',50,true);
define('MAX_YAZILIM',0.70);
Geçersiz Sabit Tanımlama Örnekleri
define('1_dil,50');
define('2_dil',100);
Sabitler sayı ile başlayamaz.
Sihirli Sabitler (Magic Constants)
__LINE__ : Kullanıldığı yerdeki programın satır numarasıdır. Hata mesajı görüntülemede veya hatanın yerini bulmada yardımcı olur.
__FILE__: Bulunduğu dsoyanın tam yolu ve adıdır. Eğer include ile kullanılırsa yüklenen dosyanın adını verir.
__DIR__ : Bulunduğu dosyanın dizinini verir.Ana dizinde değilse sonunda backslah – \ işareti yoktur. dirname(__FILE__) ile aynı işi yapar.
__FUNCTION__ : Fonksiyon içerisinde kullanıldığında içerisinde bulunduğu fonksiyonun adını verir.
__CLAS__ : Namespace ile birlikte içerisinde kullanıldığı sınıfın adını verir.
__TRAIT__ : Namespace ile birlikte içerisindeki kullanıldığı kalıtsal özellik adını verir.
__METHOD__ : İçerisinde kullanıldığı sınıfın metot ismini verir.
__NAMESPACE__ : Aktif namespace adını verir.