iksigrek
16.04.2013, 13:51:15
Tworzę w obiekcie zmienną $tab[1] i odwołuję się do niej chwilę potem. Jest ok. Chciałbym jednak odwołać się do $tab[2], której nie zadeklarowałem nigdzie. Teoretycznie powinno się wywołać __get, gdzie mógłbym to obsłużyć, ale niestety tak nie jest, bo wcześniej utworzyłem już $tab z indexem [1]. Jak przechwycić dokładnie $tab[2], $tab[x][y][z], tak by dalej ew. bawić się w array_key_existy itp, skoro __get tak naprawdę działa tylko dla zmiennej $obiekt->zmienna, a nie $obiekt->zmienna[x] ?
Kocurro
16.04.2013, 14:06:36
Może wykorzystać wzorzec Array Proxy - symulujesz tablicę za pomocą obiektu, który implementuje interfejs ArrayAccess.
iksigrek
16.04.2013, 15:33:51
Nie jestem pewny czy rozumiem, ale wygląda na to, że takie pomysły już miałem nie wiedząc jak się to nazywa ;/ Nie chcę robić obiektu udającego tablice, szczególnie, że więcej gimnastyki zajmie gdy będą to tablice kilkuwymiarowe, a o takie głównie chodzi. PHP tak wspaniałe w coraz to nowszych wersjach naprawdę nie wspiera jakiegoś prostego mechanizmu, który pozwoli mi się dostać do nieistniejących atrybutów wielowymiarowych i je jakoś wydziergać wedle własnej metody ? ; (
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.