Son zamanlarda PHP oyunuma adım atıyorum. JavaScript'ten geldiğimde, nesne modelini anlamak için biraz daha basit buldum.PHP property access and dollar sign
Belgelerin içinde bulamayacağımı açıklığa kavuşturmak istediğim birkaç tuhaflıkla karşılaştım. PHP sınıfları tanımlarken
, bunu gibi özellikleri tanımlayabilirsiniz:
class myClass {
public $myProp = "myProp";
static $anotherProp = "anotherProp";
}
biz kullanılmadan $myClass->myProp
($myClass
adlı bir değişkene başvurulmaktadır myClass
varsayarak) kullanarak erişebilirsiniz $myProp
kamu değişkeni dolar işareti
Sadece statik değişkenlere ::
kullanarak erişebiliriz. Yani, bir dolar işareti ile $myClass::$anotherProp
gibi statik değişken erişebilirsiniz.
Soru, neden ::
ve ->
ile dolar işareti kullanmak zorundayız?
class SethensClass {
static public $SethensProp = "This is my prop!";
}
$myClass = new SethensClass;
echo $myClass::$SethensProp;
İlginç ... Bir çekim ve bir kapanış talebi. – Sethen
Burada [başka sorunuz] (http://stackoverflow.com/q/17681253/20578) hakkında (burada kişisel bir dizi soru olarak sorulursa, kişisel olarak iyi olacağını düşündüm) yorum yapmaktan dolayı özür dilerim. //stackoverflow.com/questions/15270843/what-does-plus-operator-mean-in-underscore-js), ancak "en iyi uygulama bunu yapmak için" gibi bir şey söylemek biraz anlamsızdır. Eğer açıklayamıyorsanız * neden * bir şeyin “en iyi uygulama” olduğunu düşünüyorsunuz, o zaman bunun “en iyi” olduğunu nasıl biliyorsunuz? Farklı durumlarda farklı şeyler en iyisidir. –
@ PaulD.Waite Sorun değil. Gelişimi ile ilerlemeye çalışan bir geliştirici olarak, belirli bir kütüphanenin öğrenmelerine yardımcı olacak en iyi uygulamaları takip edip etmediği hakkında sorular sormak aklımda kabul edilebilir. Toplumun büyük destek vermemesi çok sinir bozucu. Belirli bir kütüphanenin en iyi uygulamalar kullanılarak yazıldığına inanmıyorum ve yanlış yapmadığım bir şey olduğundan emin olmaya çalışıyorum, bu yüzden kod eklediğimde bunun olabileceğinden emin olabilirim. – Sethen