phpbar.de logo

Mailinglisten-Archive

[php] sinnvolle, saubere smarty-dateistruktur

[php] sinnvolle, saubere smarty-dateistruktur

Olaf Gleba list at creatics.de
Don Sep 30 23:59:18 CEST 2004


Hallo Daniel,

Am 30.09.2004 20:45 Uhr schrieb "Daniel Haller" unter
<daniel_haller at gmx.de>:
> es gäbe also in meinem dateibaum jeweils EIN template und EIN pages
> verzeichnis,
> deren unterverzeichnisse und dateien weitegehend identisch sind
> (das eine mit .tpl- das ander mit .php dateien).

Ich habe bei kleineren und mittelgroßen Projekten bisher keine Notwendigkeit
(Übersicht, Wartbarkeit etc.) gesehen, die Ordnerstruktur der Scriptdateien
für die Templates zu übernehmen. Das macht erst dann Sinn, wenn es,
unabhängig von der Struktur der PHP Dateien, soviele Bereichstemplates gibt,
das logisch unterteilt werden sollte. Wie gesagt, hat das aber eigentlich
sowieso nichts mit der eigentlichen Seitenstruktur (die aufzurufenden
Dateien im Browser -> PHP Dateien) zu tun.

Der Vorteil, eins der Grundprinzipien von Template Engines ist ja nicht nur,
das ich die Logik von der Darstellung trenne, sondern auch überflüssige
Doppelungen vermeide. So ist es i.d.R. so, das d wesentlich weniger
Templates für die Ausgabe brauchst, als du PHP Dateien hast. Also kein 1:1
Verhältnis.

> 1. dem template, daß letzen endes die darstellung, das layout (die
> "präsentationslogik") enthält, und
> 2. dem php-script, das den eigentlichen php-code enthält (die
> "applikationslogik").

Es sollten, will man konsequent sein, nicht nur 2, sondern 3 Hierachien
sein. Neben der Applikationslogik (Controller), die in den PHP Dateien die
Ausgabe bildet, vorbereitet und den Templates (View), in denen das dann
dargestellt wird, hat man i.d.R. dann auch eine Ebene, in der die
Datenhaltung und Bereitstellung (Model) definiert sind (Klassen -> DB
etc.),- die dann wiederum in den PHP Dateien (Controller) genutzt wird.

Dann spricht man von einer MVC Architektur. Vielleicht erzähle ich dir
nichts Neues, aber aus meiner Sicht kann man nicht oft genug darauf
hinweisen, das es, auch bei kleineren Anwendungen, nur von Vorteil ist, wenn
man es in dieser Art und Weise anlegt. Nicht nur bei Erweiterungen, sondern
auch bei Austausch, Optimierung einzelner Projektteile spart das Zeit und
Nerven, da nicht alles von Grund auf neu aufgebaut werden muss.

> wenn nun jemand mit z.B. Dreamweaver oder so in den templates rumklickt,
> linkt er dabei immer auf die php-datei unter /pages,
> und das verlinkte script wiederrum zieht sich dann das ihm zugewiesene
> template
> aus dem templates ordner...

Ich weiß nicht, ob du da einen Denkfehler hast. Was wird verlinkt, wenn du
die Templates (und NUR die) in DW bearbeitest ? Du meinst jetzt nicht das
zuweisen des Templates in der PHP Datei ($smarty->display()), oder ? Das
wäre hier ja irrelevant.

gruss
Olaf

-- 
creatics media.systems : Grünstr. 25 : D-42697 Solingen
tel. +49 212 38 32 94 30 : fax. +49 212 38 32 94 31
mailto:og at creatics.de : http://www.creatics.de


php::bar PHP Wiki   -   Listenarchive