4 Mart 2011, Cuma
Yeni öz-yeni statik
PHP 5.3 bir kütüphane PHP 5.2 üzerinde çalışmaya dönüştürmek için çalışıyorum. Ana şey önümde engel olursa return new self($options)
Bu dönüştürme return new static($options);
gibi geç statik bağlama aynı sonuçları elde kullanılır?
new self
new static
arasındaki fark nedir?
CEVAP
4 Mart 2011, Cuma
aynı sonucu elde edebilir miyim?
Gerçekten değil. 5.2, ama PHP için bir çözüm bilmiyorum.
new self
new static
arasındaki fark nedir?
self
new
anahtar kelime aslında yazılır aynı sınıfı ifade eder.
static
, PHP 5.3 geç statik bağlama, yöntemi ne diye ifade eder.
, B
aşağıdaki örnekte devralır A
her iki yöntem. self
çağırma bağlıdır A
çünkü tanımlanan A
'in uygulama ilk yöntem, oysa static
bağlı çağrılan sınıf (get_called_class()
).
class A {
public static function get_self() {
return new self();
}
public static function get_static() {
return new static();
}
}
class B extends A {}
echo get_class(B::get_self()); // A
echo get_class(B::get_static()); // B
echo get_class(A::get_static()); // A
Bunu Paylaş:
Farklı Windows bağlanmak SQL Server Ma...
Yeni satır dataframe Ekle...
Android: yeni Niyet) başladığı android...
'/hashbang şeye ne (#!) Facebook ...
Nasıl yeni satır veya boşluk ekleyerek...