![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 20.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Temat pewnie nadmiernie eksploatowany jednak nie potrafię znaleźć solucji. Jak jeszcze przykłady obsługi $_GET znalazłem tak nie jestem w stanie ani sobie wyobrazić ani znaleźć takich przykładów dla $_POST. Chciałbym żebyście mnie nakierowali bo zwątpiłem ![]() Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 16.07.2007 Skąd: Gorzów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Było: Temat: MVC formularz, filtracja, walidacja, autoryzacja...
Action wskazuje na index.php/nazwamodułu no i w tym module, najczęściej w konstruktorze kontrolera zachodzi sprawdzenie czy otrzymano żądanie POST, jak otrzymano to kontroler zleca wykonanie akcji i na koniec robi przekierowanie, zakładając że np coś dodajesz do bazy ![]() 1. Zostaje wysłane żądanie POST. 2. Kontroler bierze sobie widok (tworzy zmienną wskazującą na jego instancję, albo sobie rozszerza klasę widoku, jak kto woli i planuje rozbudowywać cały system, wzorce są wszelakie) 3. Kontroler kojarzy model z widokiem (przekazując mu instancję wybranego modelu) 4. W konstruktorze określono, że user wysłał żądanie POST; zostaje wykonana filtracja/walidacją wysłanych danych, jeśli wszystko poszło ok - kontroler uruchamia daną akcję 5. Zakładając, że akcja została wykonana bez wyrzucenia żadnego wyjątku, kontroler robi przekierowanie. W modelu zapytania do bazy, zwrócenie gotowych tablic, w widoku kod formularza, cały html no i oczywiście zakładając, że widok jest samoświadomy - pobranie danych z modelu i wsadzenie pól w kod html. Voila. Jeśli źle to proszę mnie poprawić ![]() ![]() Ten post edytował Luneth 15.08.2010, 01:50:03 -------------------- "It's always darkest before the dawn." |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Szczerze to nie mam pojęcia w czym może być problem. Czemu formularz miałby wskazywać na index.php? Czym POST różni się od GETa? Jak kontroler ma wybrać odpowiedni widok? Proste: na podstawie sobie tylko znanych kryteriów - dane z POST/GET mogą być częścią ów kryteriów.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 16.07.2007 Skąd: Gorzów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Może autorowi chodziło o samą wzorcową estetykę, bo gdzie metod nie wsadzisz i jakoś im parametrów nie przekażesz - to wszystko będzie działać, autor tez bardzo uogólnił swój problem, nie napisał czy chodzi np o jakiś system komentarzy, autoryzację a może jakiś kalkulator...
![]() ![]() -------------------- "It's always darkest before the dawn." |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Na dobrą sprawę dane z POST/GET/COOKIE - to po prostu kolejny model(e).
Cytat Czemu formularz wskazuje na index.php? Może chodziło mu o to: index.php/news/ Generalnie wszystkie żądania tam trafiają. Gwoli ścisłości: to nie ma nic do MVC - kierowanie wszystkiego w jedno miejsce to założenie Front Controllera, nie MVC.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 16.07.2007 Skąd: Gorzów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Masz rację, wszakże front controller często towarzyszy aplikacjom opartym na wzorcu MVC
![]() Ten post edytował Luneth 15.08.2010, 03:54:58 -------------------- "It's always darkest before the dawn." |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 20.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ciężko mi sprecyzować, ale spróbuje bo widać inaczej się nie da. Chce napisać front kontroler z prawdziwego zdarzenia. Dla przykładu.
Mam wiele formularzy na stronie, głównie znajdujące się w panelu administratora. Nie chce dla każdego takiego Form'a tworzyć nowego pliku .php który będzie go obsługiwał. Co za tym idzie chce wszystkie akcje z Form'ów kierować na index.php. I teraz nie wiem jak podejść do pisania ww kontrolera. W jaki sposób kontroler ma rozpoznać z jakiego formularza pochodzą dane i jaki model do nich dobrać? Proszę jak możecie posiłkujcie się przykładowymi kawałkami kodu. To do mnie przemawia najlepiej. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 16.07.2007 Skąd: Gorzów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Każdy formularz niech ma inną nazwę buttonu wysyłającego/zatwierdzającego i po nim rozpoznawaj. Albo zrób switcha na zmienną $_SERVER['PATH_INFO'] i wysyłaj w action takie żądania: index.php/news/add, index.php/news/edit i zgarniaj to switchem. Model wybieraj w zawartości instrukcji warunkowej. Ten post edytował Luneth 15.08.2010, 12:33:20 -------------------- "It's always darkest before the dawn." |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 20.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Czyli ogólnie za wiele sobie na wyobrażałem po niektórych lekturach
![]() Tak czy siak leci "Pomógł" ![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 16.07.2007 Skąd: Gorzów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
Zawsze można bardziej namotać niż jest potrzebne
![]() ![]() Czy z przyszłością? Myślę, że tak, jak będziesz chciał sobie inaczej wszystko rozłożyć na poszczególne kontrolery dla każdego formularza to uprościsz front controller a resztę przełożysz do tych 'mini' kontrolerów, nie będzie trzeba wszystkiego przepisywać od nowa ![]() Ten post edytował Luneth 15.08.2010, 13:07:28 -------------------- "It's always darkest before the dawn." |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 1.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
zerknij na przyklad uproszczonego front controllera
http://skrypta.pl/skrypty-php/budujemy-wla...esc-1-podstawy/ nie sadze abys musial wprowadzac inna obsluge dla POST i GET, wystarczy to zrobic na REQUEST chyba ze masz na tyle szczegolny przypadek ze musisz wiedziec jaka metoda do ciebie trafily dane, ja osobiscie nie lubie jak moj front controller decyduje o podjeciu wszystkich akcji, raczej kieruje sterowanie z front controllera do kontrolera w ktorym w konstruktorze moge nadpisac funkcjonalnosc i stamtad pokierowac do odpowiedniej akcji, oczywiscie wszystko zalezy od specyfiki twojego systemu - jak napiszsz uniwersalny front controller to szybko zauwazysz ze kilka rzeczy ci w nim przeszkadza i cie ogranicza ![]() pozdr -------------------- Skrypta.pl - Blog developerski PHP, MySQL, AJAX, Pozycjonowanie SEO, optymalizacja
Kopruch.pl - T-shirts i koszulki dla webmasterów, programistów i administratorów |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 03:55 |