SORU
20 EKİM 2008, PAZARTESİ


__() oluşturmak vs SameAsClassName() PHP oluşturucu için

PHP bir kurucu için sınıf adı yerine __construct() kullanarak herhangi bir avantajı var mı?

örnek:

class Foo {
    function __construct(){
        //do stuff
    }
}

YA

class Foo {
    function Foo(){
        //do stuff
    }
}

CEVAP
20 EKİM 2008, PAZARTESİ


Gizmo ile, avantajı eğer sınıfınızı yeniden adlandırırsanız adlandırın gerek yok yani, katılıyorum. KURU.

Eğer bir alt sınıf varsa benzer şekilde, diyebilirsiniz

parent::__construct()

ana kurucusunu çağırmak için. Eğer daha fazla parça aşağı sınıf değiştirme alt sınıftan miras, üst yapı arama değiştirmek zorunda değilsin.

Küçük bir şey gibi görünüyor, ama eksik ailene kurucusunu çağırmak adını değiştirme sınıfları ve ince ince hatalar oluşturabilir.

Senin heirachy içine bir sınıf eklenir, ama oluşturucu çağrıları değiştirmek için unuttum, örneğin, sen-ebil anne yerine dedesi kurucular demeye başladı. Bu çoğu zaman fark edilmesi zor olabilir, istenmeyen sonuçlara neden olabilir.

Ayrıca unutmayın

PHP 5.3.3 olarak, namespaced bir sınıf adı geçen eleman aynı adı taşıyan yöntem, artık yapıcı olarak kabul edilir. Bu değişiklik olmayan namespaced sınıfları etkilemez.

Kaynak: http://php.net/manual/en/language.oop5.decon.php

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • emimusic

    emimusic

    10 Mart 2006
  • Gali B

    Gali B

    1 EYLÜL 2006
  • Joshua Kywn

    Joshua Kywn

    17 Mayıs 2010