PHP Değişken Globalleştirme.
Sayfam bir indexten oluşuyor ve diğer sayfalarım bunun içine include halinde geliyor.
Bu indeximde include edilecek modul ve diğer sayfalarda ortak olan fonksiyonlarım var.
ayriyetten çoğu modülümde ortak olan bir değişkeni indexde tanımlayıp include sayfalarında kullanmam gerekiyor. Bunun için Onu globalleştirmem mi gerekir.
Globalleştirince illa ki onu $GLOBALS['degisken'] şeklindemi yazmak gerekir.
global $isim;
include("iletisim.php");
şeklinde index de yazıyorum ve include olan sayfanın içinde bunu
şeklinde kullandığımda çalışmadı.. ne yapmalıyım acaba.
global $isim = "Ahmet";
şeklindeydi gibi hatırlıyorum...
global $isim;
$isim="ahmet";
include("iletisim.php");
?>
Şeklinde yaptıktan sonra include ettiğim sayfa $isim diye direk kullanabiliyorum...
bu dediğin durumda globalleştirmenin bir anlamı yokki.
$isim = "ahmet"; dediğin andan itibaren zaten include edilen sayfalarda kullanılabilir. değişkeni global yapmanın anlamı aynı değişkeni farklı fonksiyonlar içinden çağırabilmektir.
global $isim = "ahmet";
function soyadekle($soyad){
return $isim . ' '. $soyad;
}
function gobekekle($gobek){
return $isim . ' ' $gobek;
}
echo soyadekle("Cüreklibatur");
echo gobekekle("fahrettin");
gibi
hocam problemde oyduya benim include ettiğim sayfalar fonksiyonun içinde..
function modget($mod,$sf) {
include("$mod/$sf.php");
}
şeklindeydi. çağırdığım sayfa kendi içinde index e bağımlı işlemler yapıyordu resimlerin klasörleri mesela indexten alıyordu onları globalleştirip include ettiğim sayfalardada kullandım...
ayni sekilde define ile tanimladiginiz sabitlerede fonksiyon icerisinde erisebilirsiniz. burda erisememe nedeni include den cok fonksiyon icinde degisken erisiminden kaynaklaniyor.
alternatifler;
- $_GLOBAL dizisi
- global $degisken yaklasimi
- define ile sabit tanimlama