Was PHP-Vorlagen betrifft, ist das tatsächlich leichter gesagt als getan. Es gibt wahrscheinlich mehr als 20 zufällige Auswahlmöglichkeiten, und Birne allein enthält 5 verschiedene Vorlagen, was wirklich Kopfschmerzen bereitet.
Folgen Sie nicht einfach den Meinungen anderer und sagen Sie, dass diese gut und die andere schlecht ist. Bevor Sie sich für eine Vorlage entscheiden, sollten Sie zunächst verstehen, was der wahre Zweck der Vorlage ist. Einfach ausgedrückt ist der Hauptzweck einer Vorlage die Teamarbeit. Grundsätzlich gibt es zwei Funktionsweisen:
1. Durch die Trennung von HTML und PHP wird die Zusammenarbeit zwischen Webdesignern und PHP-Programmierern angenehmer.
2. Die Trennung von Anzeigelogik und Transaktionslogik macht es einfacher und flexibler, die Kerntransaktionslogik zu ändern und Anwendungen zu erweitern, was bedeutet, dass die Zusammenarbeit zwischen Programmierern angenehmer wird. (Dieser Punkt wird von Leuten oft übersehen oder missverstanden. Sie denken immer, dass das Herausnehmen von PHP aus HTML als Trennung von Anzeigelogik und Transaktionslogik bezeichnet wird. Wenn dies der Fall ist, warum sollte man sich dann überhaupt die Mühe machen, PHP und HTML zu mischen?)
Finden Sie es heraus Der eigentliche Zweck dieser Vorlage besteht darin, es einfacher zu machen, die richtige Wahl zu treffen.
Wenn Sie der einzige PHP-Programmierer sind, aber mit anderen Webdesignern zusammenarbeiten müssen, wählen Sie eine Vorlage, die HTML und PHP trennen kann, phplib (scheint jetzt in Pear integriert zu sein http://pear.php.net/package/HTML_Template_PHPLIB). ) oder
FastTemplate ist so etwas, sehr einfach und benutzerfreundlich.
Wenn die Benutzeroberfläche Ihrer Website hässlich ist und hauptsächlich von Programmierern erstellt wird, die Funktionen jedoch komplexer sind und leistungsstarke Erweiterungsfunktionen erfordern und Sie verschiedene Ebenen einschließlich der Anzeigelogik trennen müssen, dann verwenden Sie nichts Besonderes, PHP selbst ist die beste Vorlage . Es ist zu beachten, dass Sie in diesem Fall Ihr Programm sehr sorgfältig entwerfen und immer daran denken müssen, nicht PHP und HTML, sondern Geschäftslogik und Präsentationslogik zu trennen. Aus diesem Grund war ich immer sehr resistent gegenüber Dingen wie Smarty, weil die Syntax von Smarty zu komplex und mächtig ist und fast eine Skriptsprache neu erfindet (selbst PHP-Programmierer müssen sie neu erlernen). Noch rätselhafter ist, dass es für Menschen umso einfacher ist, Geschäftslogik und Präsentationslogik zu vermischen, je leistungsfähiger dieses Skript ist, wodurch die ursprüngliche Absicht der Vorlage zerstört wird.
Wenn Sie HTML und PHP trennen und ein besseres visuelles Design erhalten möchten, aber auch möchten, dass das gesamte System über sehr leistungsstarke Erweiterungsmöglichkeiten verfügt, die sich an verschiedene Schnittstellen von HTML, XML und WML anpassen lassen, ohne komplexe Syntax erlernen zu müssen, und gleichzeitig eine höhere Funktionalität bieten Wenn man jedoch ein hohes Maß an betrieblicher Effizienz benötigt, ist dies ein recht herausforderndes Thema. Die schlechte Nachricht ist, dass es derzeit keine ausgereifte Vorlage gibt, die solche Anforderungen wirklich erfüllen kann. Die gute Nachricht ist, dass es nicht schwierig ist, eine solche Vorlage zu vervollständigen. Wenn Sie Zope oder ColdFusion ausprobieren, werden Sie den Schatten dieser Vorlage finden.
(wact http://wact.sourceforge.net/ und phptal http://phptal.sourceforge.net/ entwickeln sich in diese Richtung und dürften sehr vielversprechend sein).
Es gibt zwei Hauptmethoden zum Kombinieren von Vorlagen und Daten (Vorlagenaufruf): Push-Methode und Pull-Methode.
Die Art des Pushens besteht darin, PHP zu verwenden, um Daten an die Vorlage zu übertragen, was bedeutet, dass der Programmierer jeder Variablen in der Vorlage explizit einen Wert zuweisen und diese verknüpfen muss.
Die Pull-Methode ähnelt dem Mischen von PHP und HTML. Die Variablen in der Vorlage ziehen die Daten aktiv ein.
Apropos Vorlagen: Wir müssen zwei weitere Dinge erwähnen:
phphtmllib und Quickform ( http://pear.php.net/package/HTML_QuickForm ). Diese beiden Dinge verwenden traditionelle Methoden, um HTML durch verschiedene Seitenkomponenten zu vervollständigen Die Seite liegt vollständig in den Händen des Programmierers. Vielleicht bevorzugen viele Programmierer, die traditionelle GUI-Desktopprogramme geschrieben haben, diese Methode.
Eine schönere Lösung
Wenn Sie kommerzielle Software erstellen, sollte Flash eine schönere Lösung sein (verstehen Sie mich nicht falsch, denken Sie nicht, dass das nicht der Fall ist, nur weil Sie wissen, dass PHP Ming unterstützt und SWF-Bibliotheken dynamisch Flash generieren können). Ich spreche davon.) Was ich sagen möchte Es ist eine Lösung, die Flash Remoting unterstützt. So etwas ist die wirklich sinnvolle Kombination von PHP und Flash. Der visuelle Designer vervollständigt den Flash-Teil und der PHP-Programmierer sendet die Daten über Flash-Remoting an den Client aus Flash.
Derzeit gibt es zwei Lösungen:
AMFPHP
Da Macromedia Flash Remoting bei der Datenübertragung ein einzigartiges und effizienteres Datenformat verwendet, erstellt AMFPHP das entsprechende Datenformat auf der Serverseite durch Analyse des Datenformats PHP Klasse zum Empfangen, Analysieren und Codieren dieser Daten, um die Funktion des Informationsaustauschs zu erreichen (genau wie bei Samba sollte es eine Art Hacking sein).
PHPObject
http://ghostwire.com/resources/phpobject/
PHPObject verwendet eine andere Methode zur Datenübertragung über Open-Format-Soap, indem es einige Actionscript-Komponenten in Flash einbettet.
Tatsächlich gibt es noch viele andere Probleme im Zusammenhang mit PHP-Vorlagen, und ich kann in einer Weile nur so viel schreiben.