PHP'de buna karşı kendini

PHP sınıfları ve diğer nesne yönelimli yapıları destekler. özbuStatik fonksiyonlarda kullanılabilir Evet Hayır erişilebilir sınıf değişkeni ve yöntemleri öz :: $ this-> (PHP> 5.3'ün $ değişkeninin $ ile kullanmasına izin verdiğini unutmayın $ this :: $ foo. $ this-> $ foo statik bir değişkense, hala tanımsız olacaktır.) Örneklenmiş bir nesneye ihtiyaç var Hayır Evet

PHP'de buna karşı kendini - Örnekler

class exampleClass public static $ foo; halka açık $ bar; public function regularFunction () echo $ this-> bar;  public static işlevi staticFunction () echo self :: $ foo;  genel statik işlev anotherStatFn () self :: staticFunction ();  public function regularFnUsingStaticVar () echo self :: $ foo;  // NOT: PHP 5.3'ten itibaren $ kullanarak :: :: :: bar yerine self :: $ bar'a izin verilir exampleClass :: $ foo = "Merhaba"; $ obj = new exampleClass (); $ obj-> bar = "Dünya!"; ExampleClass :: staticFunction (); / * yazdırır Hello * / $ obj-> regularFunction (); / * Dünyayı yazdırıyor! * / 

Statik işlevler yalnızca statik değişkenleri kullanabilir. Statik fonksiyonlara ve değişkenlere öz ::functionName () veya öz ::değişken ismi. Yukarıda gösterilen örnekte, statik değişkenlere sınıf adıyla (exampleClass :: $ foo) veya bir öz :: (self :: $ foo) statik yöntemle kullanıldığında [staticFunction () adlı] sınıfın.

Sınıfın normal işlevlerine ve değişkenlerine başvurulan bir nesne bağlamı gerekir. Nesne bağlamı olmadan var olamazlar. Nesne içeriği $ this. Yukarıdaki örnekte, $ bar normal bir değişkendir ve bu nedenle $ obj-> bar (değişkenli nesne bağlamında) obj) veya $ this-> bar (yine bir nesne yöntemi içindeki bir nesne bağlamında) olarak.

öz öncekini kullanmaz $ Çünkü öz bir değişkeni değil, sınıfın kendisini oluşturur. $ this belirli bir değişkeni referans alır, böylece önceki $.

Referanslar

  • Statik Anahtar Kelime - PHP.net