phpbar.de logo

Mailinglisten-Archive

[php] sinnvolle, saubere smarty-dateistruktur

[php] sinnvolle, saubere smarty-dateistruktur

Daniel Haller daniel_haller at gmx.de
Fre Okt 1 01:55:51 CEST 2004


Hi Olaf,

Thursday, September 30, 2004, 11:59:18 PM, you wrote:

> 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.

mit der seitenstruktur im browser hat das nichts zu tun, das stimmt.
aber ich versuche immer auch auf dateiebene alles ordentlich zu halten
(vielleicht übertreibe ich es da manchmal etwas ;-))

aber im prinzip lieg ich doch dann gar nicht so falsch, oder?
es macht schon sinn, sich z.B. im root der website einen ordner
/templates und einen ordner /scripts (controller, s.u. ?) anzulegen,
und jeweils unterhalb dieser beiden ordner alle .php und alle .tpl
dateien?

> 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.

finde ich sehr intressant - und diese aufteilung macht auch auf den
ersten blick sinn.
-gekapselte klassen pder auch kleine funktionen, die für mich mails versenden,
datenbank-queries ausführen u.ä (Model)
-php scripte, die die klassen aufrufen und die daten aus den klassen
weiterverarbeiten (controller)
-und templates, die alles zur ausgabe bringen und anzeigen (view)

> 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.

doch - du erzählst mir was neues. ich kannte den begriff MVC schon
vorher, konnte mit aber nichts konkretes drunter vorstellen.
jetzt weiß ich bescheid ;-)
ich versuche mich immer soweit wie mir möglich an eine solche aufteilung
zu halten, aber ich hatte keine ahnung das es dafür auch fachbegriffe
gibt. wirklich eine sehr intressante mail, ehrlich.
bin ich wieder ein schönes stück schlauer ;-)

nur so am rande: genau solche sachen findet man irgendwie nie in
büchern. da ich mehr oder weniger nur nebenbei programmiere, fehlt mir
auch leider der austausch zu anderen programmierern, die einem sowas mal
eben erklären könnten. insofern bin ich gerade für solche "generellen"
infos immer sehr dankbar.

> 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.

wenn jemand z.B. in DW ein template bearbeitet und auf eine andere seite
innerhalb der website linken will, dann linkt er doch von dem template
aus auf eine andere php-datei, oder? wenn dann später jemand in dem
template auf den link klickt, wird die php-datei aufgerufen, diese ruft
wiederrum am ende ein template auf und das sieht dann der besucher,
richtig?

das zuweisen des templates ($smarty->display()) passiert ja in der
scriptdatei - insofern ist das zuweisen des templates für das bearbeiten
der templatedatei egal, da hast du recht ;-)

grüße,
daniel


php::bar PHP Wiki   -   Listenarchive