Ben iki sınıf vardır:
abstract Entity, abstract ClassA extends Entity, ClassB extends ClassA
Varlık gibi Otomobil veya Öğrenci gibi kuruluşlar, her türlü bir genel sınıftır. ER diyagram varlığın tam sınıf adını içeren $_entity_name
adında bir statik sınıf değişken vardır.
Büyük bir sorun: Varlık, bu değişkenin değerini ayarlamak, ancak bunu kullanır olamaz! Yani must Varlık içinde tanımlamak, ama ben ClassA onu yeniden tanımlayabilirsiniz.
ClassA ("Öğrenci" diyelim) bir özel ORM işletmenin otomatik oluşturulan temel sınıftır. Kullanıcı kendi iş mantığı eklemek için bu temel sınıf alt sınıf gerekiyordu.
ClassB kullanıcı tarafından oluşturulan ve Classa uzanır. İşte o onun iş mantığını ekler yer. Ona dokunmak $_entity_name
veya bu değeri ayarlamak gerekmiyor.
Gördüğüm tek yolu şudur:
ClassA makul değerlere bu "sistem seviyesinde" örnek değişkenleri başlatır init () yöntemini tanımlar.
Ben kullanıcı alışılmadık bir şey arama hakkında hiç düşünmek zorunda değil istiyorum. O explicitely zamanda ebeveyn sınıfının yapıcı veya aramak için PHP olağan olmadığını bilmiyorum. Ama değil sanırım.
Questions: A) What's the most convenient way to call init() after instantiation of the class? B) Is there a way to achieve that in such a way, that the user who creates ClassB must not think at all about calling init()? C) What other options do I have?