PHP 5 gelişmiş sınıflar için yapıcı yöntemler ilan sağlar. bir constructor metodu her yeni oluşturulan nesne bu yöntemi arama Sınıfları, herhangi bir başlatma kullanıldığı önce nesne gerekebilir uygundur bu yüzden.
Not: Aile inşaatçı örtük eğer çocuk sınıfta bir yapıcı tanımlar denilen değildir. amacıyla gerekli olan bir ebeveyn yapıcı, ebeveyn için bir çağrı:: __construct () çocuk constructor içinde çalıştırın.
Örnek 1 yeni birleşik inşaatçı kullanarak
sınıf BaseClass (
function () (__construct
print "BaseClass yapıcısı \ n";
)
)
sınıf alt sınıf BaseClass (uzatır
function () (__construct
veli:: __construct ();
print "alt sınıf yapıcısı \ n";
)
)
$ Nesne = new BaseClass ();
$ Nesne = new alt sınıf ();
?>
PHP 5 a () fonksiyonu verilen bir sınıf için __construct bulamazsanız geriye doğru uyumluluk için, bu eski tarz constructor fonksiyonu için, sınıfın ismi ile arayacaktır. Etkili, o sınıfı (bir yöntem __construct adlı olsaydı uyumluluk sorunları olurdu sadece böyledir) hangi farklı anlam kullanıldı anlamına gelir.
Çöp yakma fırını
(Void __destruct) void
PHP 5 bir yoketme kavram diğer nesne yönelimli diller, benzer tanıttı C + + gibi. Yoketme yöntemi olarak en kısa sürede belirli bir nesne tüm başvuruları kaldırılır veya nesne açıkça yok edilir veya kapatma sırada herhangi bir sırada çağrılır.
Örnek 2 yoketme Örnek
sınıf MyDestructableClass (
function () (__construct
print "constructor \ n";
$ This-> name = "MyDestructableClass";
)
function () (__destruct
print "yok edilmesi". $ This-> ismi. "\ N";
)
)
$ Nesne = new MyDestructableClass ();
?>
yapıcıları gibi, ebeveyn yıkıcı örtük motor denilen olmayacaktır. amacıyla bir ebeveyn yoketme çalıştırmak için, biri açıkça üst araması gerekir: () yoketme vücutta __destruct.
Not: Yıkıcılar script kapatma sırasında HTTP zaten gönderildi başlıklarını çağırdı. script kapanma aşamasında çalışma dizini bazı SAPI'lerden (Apache gibi farklı olabilir).
Not: yoketme (script fesih zamanında denir) bir istisna atmaya çalışılıyor ölümcül bir hata olur.
Hiç yorum yok:
Yorum Gönder