Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> __get na dwa sposoby
deirathe
post 20.08.2008, 14:30:29
Post #1





Grupa: Zarejestrowani
Postów: 426
Pomógł: 32
Dołączył: 24.05.2007

Ostrzeżenie: (0%)
-----


  1. <?php
  2. class TemplateParam
  3. {
  4. public $value;
  5. public $children;
  6. public $attributes;
  7. public function __construct($value)
  8. {
  9. $this->value = $value;
  10. }
  11. public function setAttribute($name,$value)
  12. {
  13. $this->attributes[$name] = $value;
  14. }
  15. public function dropAttribute($name)
  16. {
  17. unset($this->attributes[$name]);
  18. }
  19. public function __get($name)
  20. {
  21. return $this->children[$name];
  22. }
  23. }
  24. class Template {
  25.  
  26. public $templateData;
  27.  
  28. public function __set($name,$value)
  29. {
  30.  $this->templateData[$name] = new TemplateValue($value);
  31. }
  32. public function __get($name)
  33. {
  34. return $this->templateData[$name];
  35. }
  36. }
  37. ?>

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


--------------------
Kawałek mojego blogu
Everything should be as simple as possible but not simpler.
A Einstein
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:09