![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Hej!
Mam pewien problem. W jaki sposób wykonać metodę __set($param, $value) dla składowej klasy będącej tablicą? Może podam na przykładzie:
Co w rezultacie daje:
W jaki sposób zmienić wartość $this->array['field']? PS: wiem, że można to zrobić tworząc osobną metodę zmieniającą element tablicy ale czy da się to samo osiągnąć korzystając z __set()? Ten post edytował phpion.com 2.06.2007, 11:00:50 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat Przecież $this używasz tylko w obiekcie, więc to że jest prywatna akurat nie ma nic do znaczenia. Nie doczytałem, trochę późno jest jak dla mnie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Cytat Heh, chyba sie nie do końca zrozumieliśmy. To, że w ten sposób można to wiem ale przy takiej postaci __set() nie będzie można ustawić parametrów, które nie są $this->array. Jeżeli będę miał składową np. private skladowa; to wywołanie __set() w postaci przedstawionej przez Ciebie będzie ustawiało $this->array['skladowa'] zamiast $this->skladowa. Tutaj jest problem. phpion.com chciał mieć możliwość jednoczesnego operowania i na tablicy array i na zwykłych atrybutach obiektu. W ten sposób, niestety, nie uda się tego zrobić... EDIT: Powiedzmy, że udało mi się to zrobić tak:
Ten post edytował Ludvik 2.06.2007, 23:45:24 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nie doczytałem, trochę późno jest jak dla mnie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Tutaj jest problem. phpion.com chciał mieć możliwość jednoczesnego operowania i na tablicy array i na zwykłych atrybutach obiektu. W ten sposób, niestety, nie uda się tego zrobić... Czyli $obj->xxx i $obj->array['xxx']?
Tylko jaki jest sens tego? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 05:26 |