Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 7.11.2004 Ostrzeżenie: (10%)
|
Witam forumowiczow.
W swoim projekcie chcialem wykorzystac klasy Singleton. Nie chce jednak w kazdej z nich tworzyc osobno tego samego mechanizmu (czyli funkcji get_instance). Postanowilam napisac klase Singleton, a pozostale tworzyc w oparciu o nia. Niestety, pojawil sie problem. Klasa Singleton wyglada tak:
Pozniej pojawia sie jakas prosta klasa pochodna i wywolanie jej metody:
Oczywiscie ten kod zwroci blad: Fatal error: Call to undefined method Singleton::test() in test.php on line x i jest to zrozumiale. Problem tkwi w jednej linijce metody Singleton::GI(), a mianowicie:
Przez to metoda ta jest na sztywno przypisana do klasy Singleton, ktora w moim przypadku jest klasa czysto wirtualna, tzn chce, aby sluzyla jako podstawa dla innych klas. Moje pytanie brzmi: jak sprawic, aby tworzony byl obiekt nie klasy Singleton, ale klasy pochodnej od niej, na rzecz ktorej wywolywana jest metoda GI() ? Probowalem dostac sie do nazwy tej klasy dwojako: przez get_class() oraz __CLASS__. Niestety, zawsze zwracana jest klasa Singleton. Z gory dzieki za pomoc, pozdrawiam. Ten post edytował tompaw 7.11.2004, 13:04:21 |
|
|
|
tompaw Uniwersalna klasa Singleton 7.11.2004, 12:33:33
bela_666 [PHP] pobierz, plaintext <?phpclass Singleton ... 7.11.2004, 13:27:00
tompaw Tylko ze z Twoja propozycja to trzeba by wywolywac... 7.11.2004, 13:31:13
hawk Odwołanie Controller::GI()->test() jest jak naj... 8.11.2004, 09:33:38
bela_666 Cytat(hawk @ 2004-11-08 10:33:38)To co bela_6... 8.11.2004, 15:27:29
hawk Bo to będzie Rejestr. Była jeszcze jakaś inna, mąd... 8.11.2004, 16:13:57
tompaw hm... rozwiazalem to w ten sposob:
[PHP] pobierz,... 8.11.2004, 18:53:20
Vengeance a na ciorta tak ?
jak masz tą pierwszą klase to m... 8.11.2004, 20:41:46
bela_666 Cytat(tompaw @ 2004-11-08 19:53:20)hm... rozw... 8.11.2004, 20:50:44
tompaw Cytat(Vengeance @ 2004-11-08 19:41:46)a na ci... 9.11.2004, 00:27:43
hawk Tylko dlaczego w kółko pojawiają się wątki o singl... 9.11.2004, 09:10:42
Ozzy http://zend.com/zend/week/week209.php => TLK: N... 10.11.2004, 10:07:52 ![]() ![]() |
|
Aktualny czas: 23.12.2025 - 23:11 |