Php Sabitler(oluşturma,kontrol etme Fonksiyonları)

Önceki yazımızda değişkenlerin ne olduğunu,ne tür işlemlerde kullanılabileceği ve nasıl oluşturulacağı ile ilgili bir yazı hazırlamıştık incelemek isterseniz : Php değişkenler  



php sabitler


Sabit Değişken Nedir ? Neden kullanılır ?


Sabit değişkenler içerisine bir kez atama yapıldıktan sonra bir daha içindeki verinin değişikliğe uğratılamayacağı,yeni değer ataması yapılamayan değişkenlere denir.


Sabit değişkeni kullanılma amacı sadece okuyacağımız,bir değişikliğe uğramayacak verileri saklamak için kullanılabilir.


Örneğin veritabanının kullanıcı adı ve şifresini sabit bir değişken içerisinde saklayarak olası bir problem ile karşılaşmamızı engelleyebiliriz.


Değişken tanımlama kurallarından farklı olarak sabitler istenirse büyük küçük harf duyarlılığı iptal edilebilir.


Sabit Değişken Nasıl Tanımlanır ?

1.yöntem:
const ile sabit bir değişken oluşturmak için aşağıdaki gibi bir tanımlama yapabiliriz:
const SABIT=12345;
Yazdırmak için ise 
echo SABIT;
şeklinde yazdırabiliriz.Normal değişkenlerde olduğu gibi değişken isminin başında dolar "$" işareti kullanmak gerekmez.

2.yöntem:

Php kodlaması yapar iken sabit bir değişken oluşturmak için define() fonksiyonundan yararlanabiliriz.

Define fonksiyonu en az 2 adet parametre almaktadır. Parametreden kastımız parantezlerin içerisine girilecek değerlerdir.

Örneğin bir sabit tanımlamak:

define("sabitdeger","12345");

yukarıda sabitdeger adında bir sabit değişken tanımladık ve içerisine 12345 değerini metin olarak atadık.
sabit değişkenin alabileceği değerler sadece metin değil  boolean(true,false eğer true değrini atarsak 1 false değerini atarsak bir değer bulundurmaz.) ve sayısal değerleride barındırabilir.

Yukarıda define fonksiyonunun en az 2 adet parametre bulundurabileceğinden bahsetmiştik.

Şimdi ise 3. parametre olan true değer alan özelliğinden bahsedelim:

Define() büyük küçük harf duyarlılığı

Define ile 3. paremetre olarak belirtebileceğimiz değer true, eğer 3. parametreyi true olarak gönderirsek büyük küçük harf duyarlılığı olmayacaktır.
Normal değişken tanımlamalarından öğrendiğimizin tersine burada 3. paremetre ile değişkenin küçük büyük harf duyarlılığını kapatabiliyoruz. 
Örn:

define("sAbit","merhaba",true);
echo SABit;                                

şeklinde bir kullanma yaparsak sabit değişkenimiz   sorunsuz şekilde yazdırma işlemi gerçekleşecektir.


Sabit değer kontrolü

Değişkenin sabit olup olmadığını kontrol etmek için defined() kullanabiliriz.

örnek:

define("deger","hello world");              
      if(defined("deger"))                         
{ echo "deger değişkeni bir sabittir."; }

şeklinde kontrol yapabiliriz.

Blok Kapsama özellikleri

Mesela bir fonksiyon oluşturup içerisinde normal bir değişken tanımlayıp bu değişkene fonksiyonun bloklarının dışından erişmeye çalıştığımızda değişkene ulaşamayız.
Ama sabit bir değişken tanımlarsak erişimi global olacağından heryerden ulaşım sağlayabiliriz.
Const tanımlamasının bir istisnai durumu var oda şöyle const ile fonksiyon içerisinde bir değişken tanımladığımızda fonksiyonun dışarısından erişemeyiz.Bu olayda kafanız karışmış olabilir.Bunu aşağıda örneklerle anlatalım sizde kodları deneyerek ne olduğunu daha iyi anlayabilirsiniz.

Normal değişkenlerde şöyle bir kod yapısı oluşturduğumuzda :
$deger=123;    
function test(){
echo $deger;    
}                       
test();                
$deger değişkeni fonksiyonun kapsamı dışında olduğu için değişkene ulaşamayız ve ekrana birşey yazdırılmaz. Ama define ile tanımlanmış bir değişkende bu durum böyle değildir.Yani yukarıdaki yapıdaki $deger değişkenini define() ile sabit olarak oluşturursak:
define("deger",123);   
function test(){           
echo deger;                 
}                                  
test();                           

Değişkene erişimimiz sorunsuz şekilde gerçekleşecek bu yapıyı const ile aynı şekilde oluşturabiliriz:
const deger=123;    
function test(){       
echo  deger;            
}                             
test();                      

bu ifadede bir sorun ile karşılaşmayacağızdır.
Ayrıca oluşturma işlemini function içinde yaptığımızda define() kullanarak dışarıdan veriye ulaşabiliriz:
function test(){           
define("deger",123);       
}                                 
test();                            
echo deger;                 

Burada da rahatlıkla değişkene erişim sağladık ama const için aynı durum söz konusu değil fonksiyon içerisinde const ile bir değişken oluşturursak :
function test(){           
const deger=123;          
}                                
test();                           
echo deger;                 

değişkene erişemeyiz ve hata alırız.

Meraklısına:

Bu konuyu ve dizileri kullanarak print_r(get_defined_constant(true)); kodunu çalıştırarak phpde bulunan tüm sabitleri görüntüleyebilirsiniz.Ayrıca kendi oluşturduğunuz sabitleri listelemek için  


$sabitler=(get_defined_constants(true));
print_r($sabitler[user]);

kodlarını kullanabilirsiniz.


 





Blogger tarafından desteklenmektedir.