| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse: Fortgeschritten ![]() | Hallo, was du suchst ist ein "Templatesystem". Schau eventuell mal in eines der beiden Tutorials hier: http://forum.developers-guide.net/showthread.php?t=684 http://forum.developers-guide.net/showthread.php?t=407 Grüße, Ben. ![]() |
| |
| | |
| Erfahrener Benutzer Registriert seit: 21.05.2008
Beiträge: 9.937
![]() | Hallo, da gibt es mehrere Möglichkeiten, entweder du setzt Template-Systeme wie zB Smarty [1,2] ein oder du drehst das ganze weiter und setzt auf das MVC Pattern [3]. Bei Template-Systemen hast du eine HTML-Seite, in der nurnoch Variablen stehen (höchstens noch Schleifen für die Ausgabe von Listen, aber keine Logik) und eine PHP-Datei, die die Programmlogik übernimmt, die Variablen mit Werten füllt und in die Template-Datei parsed. Du hast also Inhalt und Logik physisch getrennt, in 2 Dateien. Bei Smarty sieht das dann so aus: example.tpl Code: <html>
<body>
<h1>{$title}</h1>
<table>
{foreach from=$numbers item=number}
<tr><td>{$number}</td></tr>
{foreachelse}
<tr><td>keine Zahlen</td></tr>
{/foreach}
</body>
</html>
PHP-Code: Es heißt auch immer, nun könnten die Designer im Dreamweaver alle Templates erstellen, das bißchen Template-Sprache erlernen, Variablen einsetzen und der Programmierer muss nurnoch die Logik machen. Letztlich wird es ja so eh nicht gemacht, aber die Grundidee steht. Nachteil ist, du musst die Template-Sprache lernen und sehr vorsichtig sein, dass du nicht irgendwann auch in deinen Templates "programmierst". Das passiert ganz schnell mal, denn if-else, foreach-foreachelse, include gibt es alles auch in Smarty. Und wenn du soweit bist, hättest du dir die Trennung auch sparen können. Aber probiere es aus, es ist kein Hexenwerk und jeder Programmierer sollte es mal eingesetzt haben. Danach kann man immernoch sagen, nein, das ist ein Mehraufwand der sich für mich nicht lohnt. Das MVC-Pattern ist das Model-View-Controller-Pattern. Ich habe es nur kurz im Zend-Framework eingesetzt, deshalb kann ich hier nicht so klugscheißen. Es wird gesagt, DAS sei das richtige Pattern um Inhalt von Logik zu trennen. Siehe [3] [1] http://smarty.php.net [2] http://de.wikipedia.org/wiki/Smarty [3] http://de.wikipedia.org/wiki/Model_View_Controller |
| |
| | ||
| Erfahrener Benutzer | Zitat:
Beim MVC-Pattern (Model - View - Controller) besteht (von der Struktur) aus 3 Teilen. Der Controller bildet die eigentliche Programmlogik, das (der? Der Sinn dahinter ist, dass bei einer Änderung in einer der 3 Teilen die anderen beiden vollkommen unberührt und weiterhin funktionsfähig bleiben sollten. Wechselt man zB das Datenbanksystem, so tauscht man einfach das entsprechende Model, dem Controller und View ist das dann egal. Wenn nun eine Seite aufgerufen wird, landet Aufruf erstmal am Controller. Der wiederum holt sich Daten aus dem Model, macht damit irgendwas tolles und gibt irgendwas den View weiter, der sich dann um die Ausgabe kümmert. View und Model kommunizieren nicht miteinander, ebenso rufen View oder Model Funktionalitäten des Controllers auf. Model und/oder View können auch wegfallen, wenn sie nicht benötigt werden (zum Beispiel braucht eine Uhr keine Datenbank Für die Umsetzung des MVC-Patterns im Zend-Frame empfiehlt sich das das Tutorial umd ma reinzuschauen, ansonsten gibts Umsetzungen wie Sand am Mehr
__________________ Nicht jeder Fehler ist ein Bug. | |
| |
| | |
| da schreibt der ElePHPant Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Ist das Model nicht im Endeffekt sowas wie ne Datenbank Klasse? Also ich hab z.B. eine DB Klasse die ich je nach verwendetem DB System austauschen kann. Also die Klassen MySQL, Oracl, Textdateien haben die selben Methoden etc. nur greifen eben auf andere Systeme zu. Wäre das jetzt dann ein Model oder muss man da noch stärker trennen? Also das z.B. eine Schleife zum auslesen von mehreren Einträgen auch noch zum Model gehört und nur ein Array mit dem Inhalt übergeben wird und dies dann vom Controller direkt an das View weitergegeben werden kann oder gehört die Schleife dann zum Controller? Weil ansonsten ist ja Templatesystem mit MVC irgendwo ja das selbe, also das Templatesystem wäre dann der View, das Skript der Controller und die DB Klasse das Model. |
| |
| | ||
| Moderator Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Zitat:
__________________ robo47.net - Blog, Codeschnipsel und mehr | | |
| |
| | |
| Erfahrener Benutzer Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse: Fortgeschritten ![]() | Wir driften leicht von der eigentlichen Fragestellung ab ... Nur so am Rande. Zum Thema MVC gibt es ja dutzende Diskussionen und Ansichten. Beispiele: http://www.zfforum.de/showthread.php?t=33 http://forum.developers-guide.net/showthread.php?t=4685 Und natürlich weitere. Zu finden mit den Suchdiensten der eigenen Wahl. |
| |
| | |
| Erfahrener Benutzer | Im Endeffekt kommt es aber hin, dass das Model eine erweiterte DB-Klasse is, aber um zum eigentlich Thema zurück zu kommen: HTML und PHP zu trennen is recht einfach und auch recht verbreitet. Mit einer Template-Engine garkein Problem.
__________________ Nicht jeder Fehler ist ein Bug. |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Bestimmten Befehl der HTML verarbeitet | Gokel | PHP Tipps 2008 | 19 | 16.07.2008 00:13 |
| [Erledigt] HTML Mail mit Lücken mitten in den Worten, wie kommt das? | DeeFour | PHP-Fortgeschrittene | 2 | 29.05.2008 15:47 |
| Html Code maskieren mit php | Mania | PHP Tipps 2008 | 5 | 12.10.2007 08:34 |
| Variable und komplette HTML Datei | chrisonline | PHP Tipps 2007 | 3 | 24.05.2007 15:30 |
| &amp;amp;lt;if&amp;amp;gt; &amp;amp;lt;/if&amp;amp;gt; in einer HTML Datei fuer Templ | PHP-Fortgeschrittene | 6 | 03.11.2005 12:05 | |
| [Erledigt] ne harte nuss ... php scripte in html needed ... ABER | PHP Tipps 2005-2 | 10 | 01.09.2005 00:03 | |
| Kontaktformular, welches auf neue html Seite führt | PHP Tipps 2005-2 | 4 | 20.07.2005 11:21 | |
| Daten aus einer HTML Quelltext herraus lesen. | PHP Tipps 2005 | 1 | 30.05.2005 15:23 | |
| HTML Tabellenzeile in Tabelle einfügen? | Datenbanken | 2 | 28.01.2005 00:28 | |
| IMAP: Bild(er) in HTML Part richtig darstellen | PHP-Fortgeschrittene | 1 | 07.10.2004 12:21 | |
| {$varname.optelement} mit preg_match aus HTML extrahieren | PHP Tipps 2004 | 0 | 11.09.2004 04:13 | |
| Unterschied HTML und PHP | PHP Tipps 2004 | 4 | 28.08.2004 19:02 | |
| Validitor (HTML 4.01) = Schwachsinn? | Filewalker | Off-Topic Diskussionen | 19 | 03.08.2004 15:27 |
| ausgefuehrtes php file als html speichern | PHP Tipps 2004 | 8 | 28.07.2004 17:59 | |
| [Erledigt] PDF aus HTML erzeugen ? | PHP-Fortgeschrittene | 2 | 05.06.2004 02:10 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| html mit php verbinden, php mit html verbinden, http://www.php.de/php-tipps-2007/43202-php-und-html-sinnvoll-verbinden.html, muss man html und php kombinieren, template sinnvoll php, html und php design sinnvoll nutzen, html mit php verknüpfen wiki, html mit php verknüpfen, sinnvoll php und html kombinieren, dreamweaver html mit php verknüpfen, html und php kombinieren, smarty beispielprojekt, beispielprojekt mvc php, zend beispielprojekt mvc, php oop mvc beispielprojekt, templatesystem sinnvoll, html und php kombinieren sinnvoll, template system sinnvoll |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.