hi,
Ich hab Fragen zu PHP Projekten.
Ich schreib Dir mal, wie ich das in Perl mache, vielleicht kannst Du dem ja was abgewinnen:
- Wo ist es sinnvoll in einem komplexeren php-projekt welche php Dateien wo im MVC-Modell reinzupacken. .lib.php, .inc.php in model?
Ich setze einmal den @INC-Pfad und dann werden Methoden, die ggf. weitere Klassen inkludieren, automatisch geladen (Factory).
Per externer Konfiguration kann ich URLs ein beliebiges Interface zuweisen, sei es um Platzhalter zu beleben oder die ganze Seite interaktiv zu machen.
- Wie ist HTML in einer PHP-Datei aufgeteilt? Strikt getrennt oder wie beim Eingabefomular beide zusammen in einer Datei?
Sowohl als auch, das regelt die View-Class, da kann ich festlegen aus welcher Quelle das Template geladen wird und das kann auch unterhalb eines Token innerhalb derselben Datei liegen. In Perlmodulen ist für sowas unterhalb __ DATA __ ein idealer Platz für Templates.
Mit Hilfe einer geeigneten Boundary unterteile ich ggf. ein Template in mehrere Templates und kann mir das für die jeweilige Anwendung entsprechend zusammenbauen wobei dafür nicht extra weitere Dateien geladen werden müssen sondern nur Eine.
Code mit HTML zu mischen ist keine gute Idee, da geht schnell die Übersicht flöten. So gab es auch in EmbPerl Versuche in diese Richtung, die sich jedoch nicht weiter verbreitet haben. Eine einfache Template-Engine die Skalare und Arrays rendern kann, reicht vollkommen. Bilde die Progammlogik NICHT im Template ab.
Leider können die meisten mir bekannten Templateengines viel zu viel des Guten, bremsen am Ende alles aus und machen jegliche Performance-Optimierung zunichte. pl