Sadece boş bir kurucu tanımlamak veya kurucu tanımını tamamen PHP'de bırakmak en iyisidir? Ben sadece tamamlama nedenleri için - herhangi bir şey yapmak için yapıcıya ihtiyacım olmasa bile, sadece return true;
ile kurucuları tanımlama alışkanlığım var.PHP boş yapıcı
cevap
Kurucuya ihtiyacınız yoksa, daha fazla kod yazmanıza gerek yok. Yazdığınız zaman, boş bırakın ... geri dönen gerçek bir amacı yok.
yapıcı her zaman tanımlandığı sınıf örneğini döndürür. Bu nedenle, kurucunun içinde asla "dönüşü" kullanmazsınız. Son olarak, eğer onu kullanmıyorsan onu tanımlamamam daha iyi.
Nesneniz hiçbir zaman örneklenmemesi gerekiyorsa, yalnızca boş bir kurucu tanımlamanız gerekir. Bu durumda, __construct()
'u özel yapın.
DÜZENLEME: PHP şimdi diğer oop programlama dilleri gibi davranır beri
önceki cevabı, artık geçerli değil. yapıcıları , arabirimlerin bir kısmı değildir. bu nedenle artık
Bunun tek istisnası herhangi bir sorun olmadan tercih bunları nasıl geçersiz kılmak için izin verilen geçerli:
interface iTest
{
function __construct(A $a, B $b, Array $c);
}
class Test implements iTest
{
function __construct(A $a, B $b, Array $c){}
// in this case the constructor must be compatible with the one specified in the interface
// this is something that php allows but that should never be used
// in fact as i stated earlier, constructors must not be part of interfaces
}
ÖNCEKİ ESKİ-GEÇERLİ DEĞİLDİR-ARTIK CEVAP: Orada
boş bir kurucu ile hiçbir kurucu arasında hiç bir önemli fark yoktur.
Sadece bu değil, aynı zamanda 'A' tanımlı bir kurucuya ve 'B' tanımlı, boş bir yapıcıya sahip olsaydı, aslında kurucuyu kaldırıyor olsaydınız, ancak tamamen çıkarırsanız, üst öğeyi devralıyorsunuz demektir. yapıcı. Kesinti, "her zaman" ya da "asla" boş bir kurucuyu içermemeniz gerektiği ve bir ya da diğeriyle aynı şeyi "her zaman" anlamına gelmediğidir. Her şey bağlamla ilgili. – Jason
İki arasında bir fark var: Boş bir __construct()
işlevini yazdığınızda, bir üst sınıftan kalıtsal __construct()
üzerine yazabilirsiniz.
İhtiyacınız yoksa ve üst kurucunun açık bir şekilde üzerine yazmak istemiyorsanız, hiç yazma.
- 1. Boş statik yapıcı ile tekil uygulama
- 2. PHP false veya boş
- 3. İki boş anahtar PHP
- 4. PHP, ancak json_encode boş
- 5. , yapıcı
- 6. PHP $ _POST boş değer veriyor
- 7. PHP boş 2D dizilerinin oluşturulması?
- 8. PHP eksiltme BOŞ değer sorunu
- 9. açık .php gösterisi boş sayfa
- 10. Oto aşağıdaki boş bir yapıcı ben NetBeans boş sınıfa (TestClass) den başlarsanız imza
- 11. uygun yapıcı
- 12. unique_ptr yapıcı
- 13. Dizi dize ile boş dizeyi boş değerlerle değiştirme php
- 14. PHP json verilerini yüklüyor, çıktı boş
- 15. PHP boş dizi yavaşlama fırlatma hatası
- 16. htaccess boş sayfa sorununa yönlendiriyor (Çekirdek PHP)
- 17. kazıyıcı php boş bir sayfa döndürüyor
- 18. Varsayılan yapıcı olmadan tasarım
- 19. yapıcı XSSFWorkbook (FileInputStream)
- 20. laravel kontrolör yapıcı sorunu
- 21. Çok sayıda yapıcı argümanı
- 22. bir özellik yapıcı
- 23. Scala sorun opsiyonel yapıcı
- 24. şartlı Burada yapıcı
- 25. Perl'de temel yapıcı çağırma
- 26. Struct Yapıcı dizimi
- 27. Arama yapıcı - Javascript
- 28. bu yapıcı argümansızdır: piton
- 29. yapıcı nesnel c
- 30. Beklenmeyen "geçici" yapıcı değiştirici
Yapıcının dönüş değeri tamamen yok sayılır. – KingCrunch
gerçekten de kurucunun içinde dönen birini bulduğumda onunla asla onun kodunu birleştirmeyeceğim. –