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

  • Elly

    Elly

    3 EKİM 2005
  • My name is Festis and I'm free

    My name is F

    2 EKİM 2011
  • Techmoan

    Techmoan

    31 Mayıs 2009