POST in PHP-MVC-Controller?
Lerne ich die PHP MVC-Muster für meine backend-Umsetzung. Mit Blick auf dieses ausgezeichnete Beispiel:
Umsetzung von MVC in PHP: Die Controller
http://onlamp.com/pub/a/php/2005/11/03/mvc_controller.html
Fühle ich mich wohl mit der ausführungsablauf in einem BEKOMMEN.
Aber es gibt keine Erwähnung von dem, was passiert in einem POST. Was wäre die typische controller-code für die POST tun? Ich Frage mich, ob ich bin Missverständnis, etwas, das offensichtlich hier, da kann ich nicht finden, ähnliche Situationen in früheren SO-posts oder Google.
Beispiel: Eine app zum verwalten von Personen(name, Nachname, Alter) möchte einen Datensatz hinzufügen an db, wenn ein POST trifft den controller.
Was passiert als Nächstes?
Meine Vermutung ist, dass die "Ansicht" wird überhaupt nicht verwendet, oder vielleicht für eine Bestätigung?
Ist es nur ein Aufruf aus dem controller eine model-Klasse, die fügt einen Datensatz zu db?
Oder muss ich direkt den controller zusammen für einen POST und gehe direkt zu einem "Datensatz hinzufügen" script?
Gibt es keine verfügbaren Beispiel?
Vielen Dank im Voraus,
Ari
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut, der POST ist im Grunde das gleiche wie GET, nur ein paar zufällige Stücke von info-client sended zu server. So können Sie behandeln Sie die gleiche Weise.
Arbeitete ich mit CodeIgniter MVC-framework in PHP. Es verwendet GET-URI, um die route zum controller und dessen Methoden. Wenn die POST-Anfrage kommt, behandelt er seine URI in der gleichen Weise. Die späteren Aktionen sind in der hand der Programmierer, die Zugriffe POST-Anfrage Daten direkt oder über einen wrapper, und kann er auch nicht verwenden, es überhaupt nicht.
Muss ich sagen, dass Sie den Fokus auf die falschen Teile. MVC ist nicht das Modell der alles, und es sagt nicht, wie zur Behandlung von POST-oder GET-Anfragen. Es ist nur ein einfaches Prinzip bekannt, vor vielen Jahren den Namen "MVC" wurde berühmt, da das Prinzip über die Aufteilung von Logik, Daten und Darstellung. Und die meisten der software(von alt zu neu) eigentlich tun diese Aufteilung, denn es ist sehr schwer dies nicht zu tun, in den meisten Fällen. Bei manchen apps sind die Grenzen nicht so offensichtlich, einige von Ihnen auch noch nicht-Objekt-Modell. Die Umsetzung der app ist immer bis zu Ihnen, da MVC nicht sagen, dass Sie was zu schreiben aber nur gibt einige Hinweise zur höchsten Ebene der Organisation von code.
P. S. Sorry für mein schlechtes Englisch.
In der Regel der controller verarbeitet die Anfrage (der controller verarbeitet ALLE Anfragen), rufen Sie dann in das Modell tatsächlich manipulieren von Daten auf der Basis der Anforderung, und klicken Sie dann umgeleitet, um woanders (Auslösung eines neuen GET-request), oder rufen Sie eine Ansicht für die Ausgabe der angezeigten Seite.
Gut, wenn Sie gehen, um Ihre eigenen MVC-Muster-Lösung, Sie machen könnte eine heikle Sache. Da Sie Umgang mit MVC und man sollte eine wirklich zuverlässige routing manager. So nach der Analyse Ihrer URL und einer Definition, was der controller/Methode, die Sie auslösen sollen, Sie könnte so etwas wie:
und später in einer controller-Klasse, die Sie tun konnte, so etwas wie: