![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 426 Pomógł: 32 Dołączył: 24.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam takie klasy i natknalem sie na pewien problem, nie wiem jak to rozwiazac chce aby __get w klasie TemplateValue dzialalo na dwa sposoby, jezeli zwracam sie $Template->zmienna = "lalala" to tworzy sie obiekt klasy TemplateValue i zmienna value przybiera wartosc "lalala", jezeli wykonam $Template->zmienna->zmienna2 to __get zwraca mi zmienna $children[$zmienna2]->value jezeli wykonam $Template->zmienna->zmienna2 to dostaje $children[$zmienna2]->value a jak $Template->zmienna->zmienna2->zmienna3 to $children[$zmienna2->children[$zmienna3]]->value, nie wiem czy dobrze wytlumaczylem -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Teraz zrozumiałem o co Tobie chodziło.
Nie da rady tego zrobić, gdyż klasy nie posiadają wiadomości o tym, czy są wywoływane jako obiekty, czy jako wartości. Gdyby istniała metoda typu toValue() (czyli przypisywanie obiektu bez kontekstu , nie tak jak toString()) to jak najbardziej a póki co, działa to prawie tak samo jak tablice. Jeżeli nie będzie to Tobie przeszkadzać, to tutaj masz implementacje w jednej klasie
Ten post edytował LBO 20.08.2008, 18:04:16 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 426 Pomógł: 32 Dołączył: 24.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
szkoda, tak samo brakuje mi czasem przeladowania operatorow
![]() ![]() dzieki za odpowiedz -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Oj jakby się dało przeładowywać operatory, to w PHP możnaby pisać aplikacje z pełną kontrolą typów, po za tym tak jak w Javie, czy JavaScript'cie każdy typ danych możnaby zrobić obiektem wraz z odpowiednimi metodami do operowania dana wartoscia... W w/w wspomnianych jezykach jest to bardzo fajna funkcjonalność i mam nadzieję, że nie muszę tłumaczyć dlaczego
![]() -------------------- serwiswww.pl
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 13:57 |