![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 28.10.2005 Skąd: kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam
Ostatnio zastanawiam się nad ruterem w FW, jego zadaniem jest sparsowanie url’a pobranie z niego nazwy kontrolera, akcji i parametrów (tak jest u mnie) 1. co jeżeli podstawowy wzorzec rutera chce zmienić z /kontroler/action/pram1/param2 .. na /jezyk/kontroler/akcja/param1/param2 .. Jednym z rozwiązań na jakie wpadłem to jest tworzenie wzorów rutera tak jak jest np.: w Zend FW ale jak pobrać wartość języka w tak zdefiniowanym formacie parsowaniu przez rutera /:Lang/:controller/:action może wykorzystać metode __call() i po odpowiednim sparsowanu w/w formatu Pobierać wartości w sposób dynamiczny tj
XXX – nazwa parametru np.
Oczywiście getController(), gerAction(), getParams() nie były by tworzone w __call() tylko bedą zaimplementowane na ‘stałe’. Czy użytkownik powinien mieć dostęp do parametrów rutera, żeby mógł pobrać dany parametr .. co na to koncepcja MVC?? i wasza praktyka Następna kwestią jest to ze oprócz danych z GET (SERVER) mamy też dane przekazywane z POST, W moim frameworku umożliwiłem odpalanie akcji również za pomocą danych przekazanych w POST (dodawanie do łańcucha akcji) w sumie za jednym przeładowaniem mogłem wykonać trzy akcje z Urla, po wysłaniu formularza z zdefiniowaną akcja,
i po naciśnięciu buttona również z definiowana w nim akcje.
Czy takie rozwiązanie ma sens Jak powinny być odczytywane dane akcji przekazywane w POST. Może utworzyć specjalny filtr który będzie przeszukiwał dane POST i jeżeli znajdzie odpowiednie klucze doda nowa akcje do łańcucha akcji czy tez stworzyć klasę do obsługi żądań akcji POST. Wydaje mi się ze dobrym rozwiązanie było by stworzenie klasy dziedziczącej po ruterze np. PostRuter Co o tym sadzicie, jak wy rozwiązujecie tą kwestie. I jeszcze jedno wpadłem na pomysł walidacji formularzy taki ze dany formularz jest wysyłany do odpowiedniego walidatora np.:
I później w kontrolerze akcji sprawdzamy jednym poleceniem czy formularz jest poprawny
Mam nadzieje ze nie na mieszałem Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 22.01.2006 Skąd: Wodzisław Śl. Ostrzeżenie: (0%) ![]() ![]() |
Tak, czy tak gdzies ta metode musisz dodac, niezalenie czy __call() czy stala, ale jak wspomnial menic router powinien spelniac swoje zadanie, a kontroler swoje, wiec najpewniej byloby dane na temat jezyka razem z innymi danymi przekazywac do kontrolera (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Moze sie myle, bo wkoncu na FW malo cokolwiek pisalem, zawsze jakos wolalem swoje klasy/funkcje. Ale aktualnie skrobie cos na CI, bo chce jak najpredzej to zrobic (i wrocic do swojego xime) i nie babrac sie za bardzo z kodem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Sam myslalem o jakims malym, swoim frameworku dosotsowanym do moich potrzeb i wymagan, bez zbednego kodu, ktorego nigdy bym nie uzywal (np. uzywam tylko mysql, to niepotrzebnie dorzucac jakies activerecordy i inne), dzieki czemu wydajnosc byla dosyc dobra (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Z drugiej strony, zaczynac projekt, ktory byc moze kilka razy wykorzystam, a pozniej umrze, wiec narazie olewam to, bo i tak za duzo na glowie mam innych projektow w cpp (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Wracajac do tematu, tez bede musial w przyszlosci kombinwoac jak w CI zrobic obsluge jezyka, ktory bedzie podawany jako 1 parametr, ale to przyszlosc (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Co do akcji przez post, nie mam zdania, nigdy nie potrzebowalem takiej metody, wiec sie tym nie interesowalem. Choc pomysl wydaje sie ciekawy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował MalCom 27.01.2007, 18:06:50 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 09:33 |