Doğru Cevap
-
private olan değişkenlerin isimlerinin başında '_' kullanılır. Bu sadece kabul edilmiş kod yazma standardıdır. Yani sen istersen '_' karakterini kullanmadan da değişkene isim verebilirsin.
&loadClass fonksiyonun başındaki & karakteri ise fonksiyonun dönderdiği değişkenin referansını döndermesini söyler. Eğer & bu karakter fonksiyonun başında olmasaydı return edilen $class değişkenin hafıza da yeni bir kopyası oluşturulacaktı. & karakteri sayesinde hafıza da $class değişkenin kopyası oluşturulmadı ve referansı return edildi. Böylece hafıza kullanımından tasarruf edilmiş oldu.
Detaylı olarak http://www.php.net/manual/en/language.references.return.php adresinden inceleyebilirsin.
Bu sayfada güzel bir örnek var.<?php function &func(){ static $static = 0; $static++; return $static; } $var1 =& func(); echo "var1:", $var1; // 1 func(); func(); echo "var1:", $var1; // 3 $var2 = func(); // assignment without the & echo "var2:", $var2; // 4 func(); func(); echo "var1:", $var1; // 6 echo "var2:", $var2; // still 4 ?>
-
sharq
cevabın için teşekkürler yani sadece ram de saklayıp ordanmı çağırıyor11 yıl önce yazılmış
-
Cevaplar
-
Aslında durum classlarla alakalı değil.Bilgim dahilinde ; alttire kullanmanın özel bir nedeni yok tanımlama yaparken alttire kullanabilirsin.
Fonksiyonlarda geçerlimidir bilmiyorum ancak & işareti biraz karışık olmakla birlikte & normalde yoktur ve hafızada yer kaplamaz bir değişkeni & olarak çağırısan referansı neyse onu çağırır. :) Neyse örnekle verelim.
Normalde şöyle bir betiğimiz var diyelim ;<?php $x = "GENEL DEGISKEN DEGERI"; $y = $x; echo $x."<br/>"; echo $y."<br/>"; $x = "YENI DEGER"; echo $y."<br/>"; ?>
doğal olarak çıktıGENEL DEGISKEN DEGERI GENEL DEGISKEN DEGERI GENEL DEGISKEN DEGERI
olacaktır.Eğer biz;<?php $x = "GENEL DEGISKEN DEGERI"; $y = &$x; echo $x."<br/>"; echo $y."<br/>"; $x = "YENI DEGER"; echo $y."<br/>"; ?>
şeklinde kullanırsak çıktımız ;GENEL DEGISKEN DEGERI GENEL DEGISKEN DEGERI YENI DEGER
şeklinde olur.Yani $y değişkeni $x'i referans alır.