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

  • amc

    amc

    21 EYLÜL 2005
  • NicoleGrippo

    NicoleGrippo

    14 Kasım 2006
  • Sergio Lafuente Rubio

    Sergio Lafue

    11 Aralık 2008