Andreas Korthaus: Web-Programme modular aufbauen

Beitrag lesen

Hallo!

Das verstehe ich nicht so ganz, PEAR::DB kannst Du doch einsetzen, ich sehe das Problem nicht? Warum Code 2x schreiben?

PEAR ist vielleicht nicht spezielle genug habe ich erst gedacht, aber eigentlich qatsch, hast Recht, die Daten werden ja in eigenen Klassen ermittelt, je nach Modul, und diese Methoden graufen dann auf PEAR zu,  das sollte klappen,

Nur wie soll ich das parallel verwenden?
Wie willst Du *was* parallel verwenden?

Svens Ansatz des Ausgabe-Moduls und Smarty, das sind IMHO 2 gegensätzige Ansätze die sich gegenseitig ausschließen. Sven würde - so wie ich das verstanden habe, keine direkten Befehle in eine Modul schreiben, d.h. das modul besteht nur aus einer Dateimit eienr Klasse, und einem Template. Das Basismodul parst das Template, udn führt die darin enhaltetenen Befehle aus, und gibt das Resultat an den Browser aus. Smarty macht das ja genau anders herum, bei Smarty läd man eine echte PHP Datei die nicht nur aus eienr Klasse bestehen kann, sondern das Template muß _aus_ dieser php-Datei geladen, und mit Variablen versorgt werden. D.h. das Basismudul mürde anstatt des Templates das Modul laden, also eine php-Datei mit ausführbarem Code zusätzlich zur Modul-Klasse. Dieser Code wie gesagt läd das Template, und führt entsprechend den Request-Parametern Aktionen aus, genauer gesagt greift es auf Methoden der Modul-Klasse zu und schreibt die Ergebnisse in Variablen, die an der dafür vorgesehenen Stele in das Smarty-Template eingebunden werden. Das sind IMHO zwei sehr verschiedene Ansätze.

Was ich bei Svens Ansatz noch nicht verstehe, was mache ich beispielsweise mit Datei-Uploads? Bei Sven gehen ja alle Requests an  ein Script, ein URL-Rewrite wäre an dieser Stelle schlecht weil ich so  doch nicht mehr an die Umgebungsvariablen $_FILES... kommen würde, da die nur dem Script an den der Request geht zur Verfügung stehen, oder?

Sven hat mir doch im Prinzip ein Äquivalent zu Smarty beschreiben, halt Templtes, die geparst werden, mit eigener Programmierlogik...

Jain. Du kannst mit Smarty auch Svens Anwendungsbereich abdecken (s.u.) Aber Smarty-Templates bieten vorrangig erst einmal Variablenersetzungen. Sven will ja dagegen Templates implementieren, die etwas vom Programm "anfordern". (bzw. so geparsed werden, dass der gleiche Effekt entsteht)

So langsam versehe ich auch warum, wenn man das so macht braucht man wirklich keinen PHP-Code außerhalb der Klasse des Moduls, da der Parser dann ja das alles was ich in das Scritpt schreiben würde übernimmt. Hm. Wäre vermutlich am saubersten, wobei:
Man kann ja auch in smarty eigene Funktionen einbauen! Das heißt ich müßte eien Funktion schreiben, die so ähnlich wie Svens Parser diese Dinge versteht, zdb das Laden des Templates mußt ja auch nicht im Modul stehen. Das heißt mein Basismodul läd beim Aufruf von /lieferanten/liste/ das entsprechende Modul, also die Klasse und das Smarty-Template, das basismodul startet das Template, dieses ruft dann die normalen Smarty und evtl ein paar eigene Funktionen auf, das müßte doch eigentlich gehen, oder?

Grüße
Andreas