Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dynamiczne wlasciwosci obiektu
Yorki
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 2
Dołączył: 12.09.2005

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


Witam, chcialbym do pewnych danych (array) miec dostep jak przez obiekt :

  1. echo $obiekt->wlasciwosc;


Jak to zrobic?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Trzeba przeciążyć magiczne metody __get() i __set(), tablica z danymi musi być prywatna (private) lub chroniona (protected).
  1. class A {
  2. private $_data = array();
  3. public function __set($key, $value) {
  4. $this->_data[$key] = $value;
  5. }
  6. public function __get($key) {
  7. if(array_key_exists($key, $this->_data) {
  8. return $this->_data[$key];
  9. }
  10. return null;
  11. }
  12. }

To w takim uproszczeniu, bo można nieco lepiej kontrolować zapis i odczyt zmiennych z tablicy $_data.
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: 26.12.2025 - 20:11