Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zmiana własności, która jest tablicą przez magicznego __set
mrWodoo
post
Post #1





Grupa: Zarejestrowani
Postów: 160
Pomógł: 6
Dołączył: 13.01.2012
Skąd: Bytom

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


Witam, mam własność w klasie
Config {
protected $_data = [];
}

Jak mogę wpływać na tą tablicę przy użyciu magicznej metody __set?

Chodzi o to, że struktura tej tablicy jest wielowymiarowa (jeden klucz może wskazywać na tablicę, która ma kilka tablic itd.)

Chciałbym aby to wyglądało tak


  1. $config->indeksPierwszy['cos']['cos2'] = 10;
  2. co ma się równać
  3.  
  4. $this->_data['indeksPierwszy']['cos']['cos2'] = 10;


Magiczną metodę get już mam ale z setterem nie mogę sobiep poradzić ;(


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


http://www.php.net/manual/en/sdo.sample.getset.php
Example #7 się przyda

Pomijając, to że nie możesz ustawić wartości dla chronionej własności
Go to the top of the page
+Quote Post
mrWodoo
post
Post #3





Grupa: Zarejestrowani
Postów: 160
Pomógł: 6
Dołączył: 13.01.2012
Skąd: Bytom

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


Cytat(Turson @ 18.06.2014, 20:58:10 ) *
http://www.php.net/manual/en/sdo.sample.getset.php
Example #7 się przyda

Pomijając, to że nie możesz ustawić wartości dla chronionej własności


Oczywiście wiem o tym, że nie mogę, ale chodziło mi jak bym to zrobił w środku klasy (dlatego posłużyłem się $this), dzięki.


--------------------
Go to the top of the page
+Quote Post
by_ikar
post
Post #4





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Spłodziłem kiedyś coś takiego: https://gist.github.com/ikar/2e1f8f18d8f82a694d31 tutaj możesz tworzyć dowolną ilość zagnieżdżeń, co oczywiści przekłada się na zapotrzebowanie przez klasę dlatego że ona od razu buduje "drzewo". Można potem to wrzucić do jakiegoś cache czy coś..
Go to the top of the page
+Quote Post

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 Aktualny czas: 19.08.2025 - 11:48