phpbar.de logo

Mailinglisten-Archive

[php] MVC (model view control)

[php] MVC (model view control)

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Mon Mar 15 15:44:29 CET 2004


Hi Fabian,

Zitat von ice77:

> Hallo Björn
>
> >PHP ist anders als Java. In PHP benötigst du diese Trennung, wie du
> >sie bei Java hast, in 97% der Fälle nicht. Und wenn du es nachbaust,
>
> >> Das habe ich in PHP nachgebaut... und dann per HTTP Header
> >>weitergeleitet.
>
> >... dann ist kein Wunder, wenn die Applikation performancemäßig in
> >den Keller sinkt, weil du tausende HTTP Header Weiterleitungen (und
> >damit jedes Mal einen neuen Request) machst.
>
> >Daher mußt du an die Sache etwas anders heran gehen, als du es
> >in Java gewohnt bist. Dann wird das auch klappen. :)
>
>
> Gut, dann würde ich mich über einen Vorschlag freuen, wie es in PHP
> gehandhabt wird, die Logik zu implementieren. In Java macht es das Servlet.
> Da ist der ganze Programmablauf/Logik implementiert (und hat auch einen
> RequestDispatcher für die Weiterleitungen)
> Wie wird das in PHP realisiert?
> Das ist mir noch nicht klar.

ich glaube, Du haengst immer noch ein Bisschen zu sehr an der Stelle, Deine
Java/JSP-Anwendung exakt in PHP nachbauen zu wollen. Wie Bjoern schon sagte,
musst Du anders an die Sache herangehen, d.h. auch die Logik ist etwas anders.
Das macht ja auch den Unterschied zwischen den verschiedenen Skript- und
Programmiersprachen aus und resultiert dann in den unterschiedlichen Vor- und
Nachteilen der jeweiligen Loesungen.

Im Prinzip hast Du Deine PHP-Seite, Dein PHP-Skript. Dieses Skript ist quasi
Dein Servlet oder Deine JSP-Seite. ;-) Nun kannst Du Funktionen und Klassen
schreiben, die Du in gesonderte Dateien auslagerst, die Du wiederum mit
Includes in Deine PHP-Skripte einbinden kannst, wo Du sie benoetigst. Das waere
dann wieder ein Anknuepfungspunkt an Java/JSP.

Du kannst bei PHP wunderschoen mit Objektorientierung und Trennung von Struktur,
Layout und Inhalt arbeiten, auch wenn PHP viele Merkmale der OOP noch nicht
(voll) implementiert hat. Dafuer kommt es nur darauf an, dass Du Deine
PHP-Anwendung sauber konzipierst und programmierst. Z.B. kannst Du Dir eine
vernueftige Verzeichnisstruktur fuer Deine Funktionen und Klassen eine
vernueftige Ablage fuer Deine Strukturen, Layoute und Inhalte ausdenken. Usw.

Ich habe letztes Jahr meine Website nach diesen Prinzipien umprogrammiert. Von
dem Ergebnis bin ich schlicht begeistert - nicht deswegen, weil ich es selbst
gemacht habe, sondern weil es sich mit PHP so phantastisch umsetzen liess. ;-)
Die Anforderungen waren eigentlich relativ komplex. Durch eine gute
objektorientierte Programmierung und eine saubere Trennung von Struktur, Layout
und Inhalt ist es mir aber gelungen, die Anwendung trotzallem sehr
uebersichtlich, wartbar und erweiterbar zu halten.

Das, was Du Servlet nennst, liegt bei mir im Ordner "skripte". :-)


Viele Gruesse

Lutz

php::bar PHP Wiki   -   Listenarchive