![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Potrzebuję podzielić widok, na kilka klas. Dokładniej chcę mieć główny widok i klasy które rozszerzą jego możliwości. Nie byłoby problemu, bo mógłbym nawet dziedziczyć tylko, że potrzebuję użyć np. 3-4 rozszerzeń naraz. Przykłady rozszerzeń: - Klasa obsługująca szablony (parsowanie etc.) - Klasa parsująca bb-code - Klasa tworząca formularze Sam wymyśliłem coś takiego: Klasa widok, ma metodę:
Problem polega na tym, że używanie tak wczytanego modułu jest niewygodne, bo muszę robić to np. tak:
Od razu tutaj zaznaczę, że mam magiczną metodę __get() dlatego odwołuję się poprzez $view->template. Co w tym niewygodnego? Muszę wszystko zwracać returnami, bo inaczej nic w widoku nie zapiszę. Dokładniej:
To co mi się nie podoba, działa akurat na zasadzie wywołania __toString, który uruchamia parser template. Z template jest najmniejszy problem, gorzej z robieniem formów... Gdzie np. każdego inputa muszę zapisać do zmiennej i potem $view->save($zmiennaZinputem) Jak za słabo objaśniłem to czekam na pytania. (IMG:style_emoticons/default/haha.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 17 Dołączył: 8.11.2008 Skąd: Libiąż Ostrzeżenie: (0%) ![]() ![]() |
I jak masz zamiar tego użyć? Bo mimo, że się wgłębiłem, to nie mogę znaleźć się w Twoim kodzie... Pokaż przykładowy kod użycia proszę.
BTW. Od tego są tablice asocjacyjne, żeby nie robić takich diabełków jak to:
tylko uprościć sobie:
EDIT: Potem sobie korzystasz z array_keys() Ten post edytował megawebmaster 15.08.2009, 22:18:27 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
I jak masz zamiar tego użyć? Bo mimo, że się wgłębiłem, to nie mogę znaleźć się w Twoim kodzie... Pokaż przykładowy kod użycia proszę. Masz w pierwszym poście... BTW. Od tego są tablice asocjacyjne, żeby nie robić takich diabełków jak to: Jak już wspomniałem kod jest pisany na kolanie, tylko w celach "testowych". (chciałem zobaczyć jak to będzie działało) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 04:54 |