| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse: Fortgeschritten ![]() | Um die Durchmischung von Business- und Darstellungslogik zu trennen, verwendet man in der Regel Teplates, also HTML-Vorlagen bzw. Template-Engines, die die eruierten Werte in die Vorlagen einsetzen. Mit Fast-Template sieht dann deine HTML-Tabelle etwa sow aus: Code:
<table>
<tr>
<td>{NUMBER}</td>
<td>{BIG_NUMBER}</td>
</tr>
</table>
http://www.dclp-faq.de/q/q-stil-content-code.html Basti |
| |
| | |
| Erfahrener Benutzer Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse: Fortgeschritten ![]() | ...ich meine nicht. Klar, PHP wurde letztlich als HTML-Templatesprache konzipiert und die meisten Einsteiger werden wahrscheinlich auch zunächstmal mit 'eingebettetem' PHP anfangen, aber einfacher ist das doch nicht - im Gegenteil. Ich denke gerade Einsteiger sind oft mit diesen Mischungen aus PHP, (X)HTML und CSS überfordert. Wenn dann noch JavaScript dazukommt, geht dann garnichts mehr. Da ist es vielfach einfacher, erstmal in PHP die Daten zu verarbeiten und für die Ausgabe vorzubereiten und Variablen dann einfach an die Template-Engine zu übergeben. Sicherlich ist die Syntax des Aufrufs von Objekt-Methoden für den Einsteiger erstmal Neuland, aber alleman einfacher zu erlernen, als irgendeinen PHP/HTML-Mix zu debuggen, oder? Hier mal Code und Template mit Verwendung von Smarty Code: include('Smarty.class.php');
$smarty = new Smarty;
$smarty->assign('template-engines', array(
array('name' => 'Smarty', 'href' => 'http://smarty.php.net/'),
array('name' => 'IT[X]', 'href' => 'http://www.ulf-wendel.de/projekte/itx/index.php'),
array('name' => 'FastTemplate', 'href' => 'http://www.thewebmasters.net/php/FastTemplate.phtml'),
array('name' => 'PHPLib', 'href' => 'http://phplib.sourceforge.net/index.php3')
));
$smarty->display('template-engine-overview.tpl');
Code: <table>
{section name=my_table loop=$template-engines}
<tr bgcolor="{cycle values="#fff,#ccc"}">
<td>{$template-engines[my_table].name}</td>
<td>{$template-engines[my_table].href}</td>
</tr>
{/section}
</table>
Basti |
| |
| | |
| Erfahrener Benutzer Registriert seit: 21.05.2008
Beiträge: 2.150
![]() | My choice for tables: (mir sind auch Templates noch zu viel Arbeit *cough* ^^) |
| |
| | |
| Gast
Beiträge: n/a
| Ich habe ja auch nichts gegen den Einsatz von templates. Es gibt nur ein paar Gründe, die mich meistens davon abhalten, sie bei Einsteiger-Fragen zu erwähnen (es sei denn, sie zielen direkt auf eine Stärke von engine xyz ab) - noch ein Interface/e Sprache - ...das auch komplexere Konstrukte der zugrunde liegenden Sprache erfordert - meistens nicht validierbare Transportform - Trennung von Ursache und Wirkung - die Diskussion über das template-System entbrennt Nichts destotrotz mal eine template-freie Implementierung des Beispiels PHP-Code: |
| | |
| Erfahrener Benutzer Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse: Fortgeschritten ![]() | > An dieser Stelle sehe ich noch nicht so große Unterschiede Nein? Mir geht es hier auch nicht darum, einen Glaubenskrieg loszubrechen, welchen Weg ein Einsteiger 'zu gehen hat'. Ich sehe, dass es erstmal quasi ein Umweg ist, dass man Variablen an eine assign-Methode schickt und hinterher erscheinen diese dann im Template und als Einsteiger kann man ja auch kaum nachvollziehen, was da zwischendrinnen passiert, aber wenn man einfach akzeptiert, das es funktioniert und dass man die Vars halt so und so übergibt, dann muss man nichts von OOP verstehen und gewöhnt sich gleich von Anfang an, PHP und HTML nicht durcheinanderzuschmeißen - denn das ist zwar ganz nett, das das geht, weil man damit eben ganz schnell mal eine Lösung für kleine Aufgaben hat, letztlich aber muss die Aufgabe schon sehr klein sein, dass der Schuß nicht nach hinten losgeht... Ich meine, gerade, wenn die Frage ist, ob man eine Tabelle ausgeben kann, "ohne das man php in die tabelle schreiben muss", dann sind Templates der einzige Weg... Basti > und habe schon auf <?= ... ?> verzichtet *Grusel ... bitte alle mal short_open_tag abschalten... |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| $error weiterleiten | Benjamin | PHP Tipps 2008 | 10 | 29.07.2008 11:59 |
| Hash-Werte | Raito | PHP Tipps 2008 | 10 | 07.04.2008 15:47 |
| Anfänger bittet um KleinLoginScriptPrüfung / PHP und MySql | prinzli | PHP Tipps 2008 | 10 | 08.11.2007 08:07 |
| Textarea und &gt; | PHP-Fortgeschrittene | 9 | 07.02.2006 00:34 | |
| Problem mit While-Schleife | PHP Tipps 2007 | 5 | 27.12.2005 20:02 | |
| [Erledigt] Formular formatieren | HTML, Usability und Barrierefreiheit | 5 | 30.01.2005 13:45 | |
| guestbook problem #2 | PHP Tipps 2005 | 7 | 04.01.2005 11:19 | |
| Echo ausgabe Zeitlich verzögern? | medico | HTML, Usability und Barrierefreiheit | 14 | 03.01.2005 08:23 |
| Partykalender, Probleme | PHP Tipps 2004-2 | 6 | 26.12.2004 13:19 | |
| problem mit ausgabe bei einer "tmp"-table... | nautiluS | PHP Tipps 2004-2 | 0 | 20.12.2004 15:12 |
| get und if funktion | PHP Tipps 2004 | 14 | 23.09.2004 04:01 | |
| mysql Fehler - query was empty | Anuschka | Datenbanken | 2 | 01.09.2004 00:28 |
| Wo liegt der Fehler - Query was empty | Anuschka | PHP Tipps 2004 | 7 | 24.08.2004 02:59 |
| Datenbankergebnis in Array und per Index darauf zugreifen | PHP Tipps 2004 | 7 | 30.07.2004 18:39 | |
| [Erledigt] Datenübergabe | PHP Tipps 2004 | 2 | 20.07.2004 19:06 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| php echo html code, php ausgabestrom, ganze html in php nur mit ein echo, lange php scripts ausgabe, php längere html ausgabe, php ausgabe zu lang, php echo lan ge html texte, langer html code in php ausgeben, php echo langer html |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.