Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dynamiczne tworzenie pól w klasie
rudolf35
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 17.10.2007

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


Chciałbym, żeby w klasie tworzone były dynamiczne zmienne w przypadku gdy inna klasa odwołuje się do nieistniejącego pola. Np
  1. class A
  2. {
  3. }
  4. class B
  5. {
  6. public $object;
  7. public function __construct()
  8. {
  9. $this->object = new A();
  10. $this->object->title='Strona główna';
  11. }
  12. }

W powyższym przypadku chciałbym żeby zostało utworzone automatycznie pole "title".
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zend
post
Post #2





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


Mam wrażenie że większość z was podaje przykładu których sama nigdy wcześniej nie używała
  1. class SetterGetter
  2. {
  3. /*
  4. * tego zabrakło
  5. * */
  6. protected $_data = array();
  7.  
  8. public function __set($name , $value)
  9. {
  10. $this -> _data[$name] = $value;
  11. }
  12.  
  13. public function __get($name)
  14. {
  15. return $this -> _data[$name];
  16. }
  17.  
  18. public function __isset($name)
  19. {
  20. return isset($this -> _data[$name]);
  21. }
  22.  
  23. public function count()
  24. {
  25. return count($this -> _data);
  26. }
  27.  
  28. }
  29.  
  30. class B extends SetterGetter
  31. {
  32. public function __construct()
  33. {
  34. $this -> title = 'Watrość domyślna';
  35. }
  36. }
  37.  
  38. class A extends SetterGetter
  39. {
  40. public function __construct()
  41. {
  42. $this -> B = new B();
  43. $this -> B -> title = 'XXX';
  44. }
  45. }
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 16:12