Templates in PHP

  • #1
C

Cledith

Bekanntes Mitglied
Themenersteller
Dabei seit
04.11.2001
Beiträge
1.210
Reaktionspunkte
0
Hi ihr,
hat zufälligerweise jemand einen Link für mich im Halfter, dessen Ziel sich mit Templates auseinandersetzt?

Was ich allerdings suche ist kein fertiges Templatesystem wie z.B. fastTemplate oder so, sondern eine Seite, die sich mit dem Prinzip von Templates auseinandersetzt, Vor- und Nachteile evtl. auflistet und besonders wichtig, es einem das Prinzip so gut vermittelt, dass man es auch versteht ;D

Was ich bis jetzt gefunden habe waren überwiegend tuts Wir machen uns ein Template und das wurde dann in 4 Sätzen abgeklappert. Nö, das will ich nicht.

Hat jemand so was für mich?? *ganzliebguck* ;D
 
  • #3
Danke. Das war ja schon mal ganz aufschlussreich. Besonders der erste Link (Pferdezeitung :eek: ;D)

So weit ich das nun gelesen habe, verstehe ich überhaupt nicht mehr, wozu man Templates überhaupt benutzen soll. Einen wirklichen Vorteil haben sie doch erst dann, wenn wirklich ein Programmierer und ein Designer am Werken sind (sei als Bsp. genannt). Auf näheres werde ich nun nicht eingehen.

Aber wie gestaltet man seine Seiten denn sonst? Ich habe es bisher über Includes gemacht, wobei das schnell undurchsichtig geworden ist (wobei es sich nun noch in Grenzen hält), ich es aber einfach nicht für Chick halte. Ich denke in Zukunft werde ich includes kombiniert mit OOP benutzen. Objekte deshalb, weil man sie schneller Siteübergreifend editieren kann und auch direkt in den PHP Code eingreifen kann.

Aber ist das denn der richtige Weg?
 
  • #4
Hallo,

ich selber habe ein grosses Projekt, bei dem ich auch Programmierer und Designer in einer Person bin.

Ich habe damit angefangen, Code und Design in einer Datei zusammenzufassen. Habe also immer mit echo den entsprechenden HTML-Code direkt ausgegeben. Nach einigen Jahren wollte ich Änderungen am Code vornehmen und hatte dabei grosse Probleme, weil das Design nicht verändert werden sollte.

Also habe ich angefangen Code und Design von vornherein mit Templates zu trennen. Bei nachträglichen Änderungen ist das tatsächlich einfacher den Überblick zu behalten.

Ob das aber der richtige Weg ist, kann ich Dir auch nicht sagen. Ich selber bin mit der Template-Technik jedenfalls ganz gut bedient und kann sie auch weiterempfehlen.
 
  • #5
Also, wie mein Vorposter bereits richtig bemerkt hat, ist Code/Designtrennung extrem wichtig wenn man eine der beiden Komponenten austauschen will ohne den anderen zu beeinflussen. Leider ist meiner Erfahrung nach der Weg bei PHP dort ein ziemlich steiniger um das endgültige Ziel, Code von Design zu trennen, zu erreichen. Das ist auch etwas das man PHP als Scriptsprache seit JAHREN vorwirft.

Hier übrigens nochmal ein Interessanter Link zu Templates und PHP:



Ich persönlich kann jedem nur empfehlen Code von Design nach Möglichkeit von Anfang an zu trennen. Das ist sicherlich am Anfang schwierig zu realisieren, vor allem wenn man nicht ALLES selbst Programmieren will (denn die wenigstens fertigen Scripts bringen Code von Design trennung von Haus aus mit) aber es bietet in der Interoperabilität große Vorteile.
 
  • #6
Ich persönlich kann jedem nur empfehlen Code von Design nach Möglichkeit von Anfang an zu trennen.

Und wie macht man das am besten? Wie stellst du es z.B. an?
 
  • #7
Ich verwende die einzige Möglichkeit, nämlich die die du auch verwenden wolltest TEMPLATES. Nun musst du dich leider etwas in die Thematik einarbeiten und dann anfangen dir zu überlegen wo die Schnittstellen sind. D.h. du musst dir überlegen welche Teile z.B. deines Gästebuches immer Statisch sind, und welche Variabel. Denn solltest du ein Master Design Entwickeln und dort wo sich variable Einträge finden sogenannte Platzhalter einsetzen. Die Platzhalter wiederum musst du über den Datenbereich (der logischerweise in einer anderen Datei liegt) füllen. Das Template läuft dann (ähnlich wie PHP) durch einen Parser und holt sich für die entsprechenden Platzhalter die bereits aufgearbeiteten Daten ab. Wenn du nun z.B. was am Design ändern willst kannst du das einfach durch verschieben der Platzhalter tun, ohne Gefahr zu laufen den Programmcode zu beschädigen.

Sorry für die dämliche Erklärung, aber so oder so ähnlich KANN man Vorgehen wenn man sich an die Problematik Templates heran arbeitet.
 
  • #8
Hmm.... die Sache ist, dass alles von mir selbst geschrieben ist und dies auch so bleiben soll. D.h. wenn ich Templates dann wirklich benutzen wollte, dann müsste ich mir erst eine entsprechende Klasse schreiben.

Ich wollte eigentlich nur das Prinzip der Templates verstehen, um davon evtl. abgucken zu können. Mal sehen was sich daraus ergibt...

Ansonsten ist es eigentlich was ich wollte: Trennung von Code und Layout.
 
  • #9
Hallo!

Cledith schrieb:
Hmm.... die Sache ist, dass alles von mir selbst geschrieben ist und dies auch so bleiben soll.

Das ist natürlich was anderes! Wenn Du Dir das selbst als Auflage stellst, dann hast Du ein neues Megaprojekt. Ich finde es gut, wenn Du Dich so einer Herausforderung stellst! :)

Ich habe auch gerne den eigenen Code, aber die Sache mit Code-/Designtrennung wäre mir ohne ein fertiges Templatesystem viel zu kompliziert. Abgesehen davon habe ich grosse Probleme mit der OOP. Daher nutze ich gerne für Programmteile, die mir eine Nummer zu gross sind, fertige Pakete. So habe ich Zeit gewonnen, um mich um das eigentliche Hauptproblem zu kümmern.
 
  • #10
Hi

Selbstschreiben braucht man für Templates nun wirklich nicht.
Es gibt ein Template System was sich immer recht gut vor mir versteckt hat, aber vor nem Jahr hab ich es trotzdem gefunden ;D


Evtl wird dir dadurch auch einiges klarer.

Generell gilt man sollte das Modell-View-Controller Prinzip einhalten.

Das heisst du hast ein Template für das Design (View) und eine php Datei die die Inhalte für die Template-Variablen bereitstellt (Modell). Die Funktionen die dann über das Webinterface ausgelöst werden sollen liegen extra in php Klassen (könnte man mal als den Controller bezeichnen).

Also ich hab das z.B. so:
eine index.php die die Template Engine startet und alles was sonst erledigt werden muss wie aufrufen von den PHP Klassen. Das ist die einzige von außen ansprechbare Datei.
Dafür gibt es nun ein Template was sich aus einem anderen Template die Navigation lädt. Das Template für den Inhalt wird variabel von der index.php bestimmt. Für den Inhalt habe ich für jede Seite ein Template und eine php Datei die es füttert.

PS: Templates laufen nur mit Arrays, daher bietet sich für Datenbanksätze die PEAR::DB Klasse an.

Gruß, Michael
 
  • #11
Hmm.... die Sache ist, dass alles von mir selbst geschrieben ist und dies auch so bleiben soll

ALso je mehr über Templates lese, desto mehr Nachteile eröffnen sich mir und desto weniger Vorteile.

Nen echter Vorteil ist es, dass Code und Design wirklich völlig getrennt sind und so Programmierer und Designer nebenher arbeiten können. Ist dem jedoch nicht der Fall, wüsste ich nicht, warum man Templates benutzen sollte.

Ich halte es dennoch für einen nette Spielerei, die man durchaus benutzen kann, jedoch nicht im Moment ;D

Ich möchte halt, dass weiterhin alles selbstgeschrieben ist und habe auch keine Lust mir im Moment den Umgang mit einer Template Engine anzueigenen, da die Nachteile gegenüber den Vorteilen für mich im Moment klar überwiegen. Sollte jemand dennoch Links zu Templates haben, die er/ sie als interessant beachtet, bin ich für diese durchaus dankbar. In Zukunft werden Templates bestimmt das richtige für mich sein.
 
Thema:

Templates in PHP

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben