Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Php Class Yapısında $ ile tanımlanan ama $ karakteri olmaksızın çağrılma?

Php class yapısını çözmeye çalışıyorum.
Genel anlamda bir sorun yok herşey makul ve anlaşılır...
ancak aşağıdaki gibi bir örnek kod yazdım diyelim.
private $ayarTablo = "tblAyar";
$ayarTablo şeklinde tanımladığımız değişkeni class içinde çağırırken $ karakteri olmaksızın $this->ayarTablo şeklinde çağrılıyor.
Bunun sebebi nedir?

class Haber
{
 private $haberTablo = "tblHaber";
 private $kategoriTablo = "tblKategori";
 private $ayarTablo = "tblAyar"; 
 
 function __construct($blnAyar=true)
 {
 ($blnAyar) ? $this->fonkAyarlar() : null;
 }
 
 private function getConfig()
 {
 global $db;
 $sql = "SELECT * FROM ".$this->ayarTablo;
 $row = $db->first($sql);
 $this->ayar_01 = $row['ayar_01'];
 $this->ayar_02 = $row['ayar_02'];  
 }
}
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • cgelis adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    10 cevap - 0 soru
    Kural. Dili tasarlayan kisilerin verdigi bir karar bu.
    • zyber adlı üyenin fotoğrafı zyber
      Genel Bir kural mı bu yoksa class sınıfı içerisinde geçerli bir durum mu?
      Kural olsada bunun geçerli bir sebebi olması lazım aradığım da bu.

      Genel kural değişkenin tanımlandığı gibi kullanılması değil mi sonuçta.. asp de de bu şekilde...
      11 yıl önce yazılmış
    • cgelis adlı üyenin fotoğrafı cgelis
      Genel veya class için bir kural değildir. Objelerin içerisinde elemanlar (method veya property olabilir) çağırılırken -> kullanılır ve propertyler için $ işareti kullanılmaz. Class'a ait elemanlar'da (static elemanlarda) bu geçerli değildir. Static elemanlar çağırılırken -> işaretçisi yerine :: işaretçisi kullanılır ve gerekirse $ işaretide belirtilmesi gerekiyor.

      Ek not: Bahsettiklerimiz değişken değildirler objeye ait elemanlardır.
      11 yıl önce yazılmış
    • zyber adlı üyenin fotoğrafı zyber
      Teşekkürler
      11 yıl önce yazılmış

Cevaplar

  • azalet adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    20 cevap - 4 soru
    $this->ayartablo kodunun mantığı.Değişkeni Class veya Fonksiyon her nerede olusturduysan aynı yerde kullanmak için $this ibaresini kullanılır. this ingilizcede bu anlamına gelir. Dolayısıyla bu değişken, yani burada olusturulan değişken şeklinde bir anlama gelir.
    • zyber adlı üyenin fotoğrafı zyber
      Benim sorduğum bu değil.
      Sorduğum değişkeni class başında tanımlarken başında $ karakteri ile tanımlanıyor ancak class içinde bu değişkeni this ile çağırırken değişkenin başındaki $ karakteri olmadan çağrılıyor.

      $degisken01 = "değeri...";

      $this->degisken01;
      11 yıl önce yazılmış