Webvorlagensystem

Der grundlegende Prozess für eine serverseitige Seite Webvorlagensystem: Inhalt (von a Datenbank) und "Präsentationsspezifikationen" (in a Webvorlage), werden kombiniert (durch die Template Engine) Massenproduktion von Webdokumenten.

A Webvorlagensystem in Web Publishing Lasst uns Webdesigner und Entwickler mit arbeiten Webvorlagen automatisch benutzerdefiniert generieren Webseiten, wie die Ergebnisse einer Suche. Dadurch werden statische Webseitenelemente wiederverwendet, während dynamische Elemente basierend auf definiert werden Webanfrage Parameter. Webvorlagen unterstützen statische Inhalte und bieten grundlegende Struktur und Aussehen. Entwickler können Vorlagen aus implementieren Content -Management -Systeme, Webanwendungs ​​-Frameworks, und HTML -Redakteure.

Überblick

A Webvorlagensystem besteht aus folgenden:

Die Vorlagen- und Inhaltsressourcen werden von der Vorlage-Engine verarbeitet und kombiniert, um Webdokumente zu produzieren. Für die Zwecke dieses Artikels enthalten Webdokumente verschiedene Ausgabeformate für die Übertragung über das Web über Http, Https, oder ein anderes Internetprotokoll.

Beispiel

Mit dem Modell typischerweise in einer relationalen Datenbank, die verbleibenden Komponenten der MVC Architektur sind die Kontrolle und Sichtweise. In den einfachsten Systemen sind diese beiden nicht getrennt. Jedoch anpassen Trennung von Bedenken Prinzip, man kann die Beziehungen vollständig entkoppeln.

Beispielsweise kann die Ansichtsvorlage so aussehen:

 <html xmlns="http://www.w3.org/1999/xhtml">  <Kopf> <Titel>StandorteTitel> </Kopf>  <Karosserie> <H1 Data-XP="Titel">H1> </Karosserie> html> 

Dann lädt die Steuervorlage die Ansicht und verwendet dann dann XPath Adressierung[Originalforschung?] Zum Beispiel: zum Beispiel Komponenten aus einer Datenbank einfügen:

 $ doc = Neu Domdokument; $ doc->WHITEPACE = FALSCH; $ doc->Belastung('View.html'); $ Titlenode = $ doc->CreateTextNode("So was"); $ xpath = Neu DomxPath($ doc); $ xpath->RegisterNameSpace("h", "http://www.w3.org/1999/xhtml");  $ query = "// H:*[@data-xp = 'title']/comment ()"; $ Einträge = $ xpath->Anfrage($ query); für jeden ($ Einträge wie $ Eintrag) {  $ Eintrag->Elternknoten->Ersetzen($ Titlenode, $ Eintrag); } Echo $ doc->Savexml(); ?> 

Arten von Vorlagensystemen

Ein Webbrowser und ein Webserver sind a Kundenserver die Architektur. Websites verwenden oft auch a Webcache Leistung zu verbessern. Fünf Templating -Systemtypen werden basierend darauf klassifiziert, wenn sie Platzhalter durch echte Inhalte ersetzen und Seiten zusammenstellen.

  • Server-Seite-Laufzeitsubstitution findet auf dem Webserver statt
  • Client-Side-Laufzeitsubstitution findet im Webbrowser statt
  • Edge-Side-Laufzeitsubstitution findet auf einem Proxy zwischen Webserver und Browser statt
  • Outside Server - Statische Webseiten werden offline erstellt und auf den Webserver hochgeladen. Keine Laufzeitsubstitution
  • Verteilt - Laufzeitsubstitution findet auf mehreren Servern statt

Vorlagensprachen können sein:

  • Eingebettet oder ereignisorientiert.
  • Einfach, iterbar, programmierbar oder komplex.
  • Definiert durch ein Konsortium, privat definiert oder de facto definiert durch eine offene Implementierung. Eigentum beeinflusst die Stabilität und Glaubwürdigkeit einer Spezifikation. In den meisten Gerichtsbarkeiten kann die Sprachspezifikation jedoch nicht urheberrechtlich geschützt werden, sodass die Kontrolle selten absolut ist.

Der Quellcode des Template Engine kann proprietär sein oder Open Source.

Viele Vorlagensysteme sind eine Komponente einer größeren Programmierungsplattform oder einer größeren Programmierungsplattform. Sie werden als "Template -System der Plattform" bezeichnet. Einige Vorlagensysteme haben die Möglichkeit, eine andere Vorlagensprache oder -motor zu ersetzen.

Programmiersprachen wie zum Beispiel Perl, Rubin, C, und Java Unterstützen Sie die Vorlagenverarbeitung entweder nativ oder über Add-On-Bibliotheken und Module. Javaserverseiten (Jsp), Php, und Aktive Server-Seiten (ASP mit Vbscript, Jscript oder andere Sprachen) sind Beispiele selbst von Webvorlagenmotoren. Diese Technologien werden in der Regel in serverseitigen Templatierungssystemen verwendet, könnten jedoch für einen "Edge-Side" -Proxy oder für die statische Seitengenerierung angepasst werden.

Statische Site -Generatoren

Außen -Server -Vorlagensystemarchitektur.

HTML -Redakteure Verwenden Sie häufig Webvorlagensysteme, um nur zu produzieren Statische Webseiten. Diese können als vorgefertigte angesehen werden Web-Design, verwendet, um "Cookie-Cutter" -Massenproduktion zu produzieren. Websites Für schnelle Bereitstellung. Sie enthalten üblicherweise auch Themen anstelle von CSS Stile. Im Allgemeinen wird die Vorlagensprache nur mit der Software des Editors verwendet.[2]

Titelseite und Dreamweaver waren einst die beliebtesten Redakteure mit Vorlagen-Subsystemen. Eine Flash -Webvorlage verwendet Makromedia Blitz So erstellen Sie visuell interaktive Websites.

Systemetikett/Name Plattform/Editor Anmerkungen
Dreamweaver Makromedia HTML Authoring. Eingebettete iterbare Sprache.
Beitragen Makromedia Kundenautorierung.
Blinken Makromedia Flash Authoring.
Titelseite Microsoft HTML Authoring. Eingebettete iterbare Sprache.
NVU Linux/NVU HTML Authoring.
Pelikan[3] Ein Open-Source-Community Unterstützung Markdown oder Umstrukturiertertext. Geschrieben in Python (Programmiersprache).
Website -Meta -Sprache Unix-artig

Viele Serverseitige Vorlagensysteme Sie haben die Möglichkeit, Ausgabeseiten auf dem Server zu veröffentlichen, auf dem sich die veröffentlichten Seiten befinden statisch. Dies ist häufig auf Content -Management -Systeme, wie Vignette, wird aber nicht als Out-Server-Generation angesehen. In den meisten Fällen beeinträchtigt diese "Veröffentlichungsoption" nicht die Vorlagensystemund es kann von externer Software gemacht werden Wget.

Serverseitige Systeme

Serverseitiges Vorlagensystem

Die Leute begannen zu benutzen Serverseitige dynamische Seiten generiert aus Vorlagen mit bereits existierender Software, die für diese Aufgabe angepasst sind. Diese frühe Software war die Präprozessoren und Makrosprachen, angepasst für die Webnutzung, ausgeführt CGI. Als nächstes war eine einfache, aber relevante Technologie die direkte Ausführung auf Erweiterungsmodule, die mit gestartet wurde SSI.

Viele Vorlagensysteme werden normalerweise als verwendet als Serverseitige Vorlagensysteme:

Systemetikett/Name Plattform/Framework Anmerkungen
Klinge Php Öffentlichkeit. Teil von Laravel
Cheetahtemplate Python Öffentlichkeit. Eingebettete komplexe Sprache.
Django Python Verwenden Sie die "Django -Vorlagesprache".
Freimaurer Java Öffentlichkeit.
Facelets Jakarta ee Öffentlichkeit. Teil von Jakarta Server Faces
Genshi Python Öffentlichkeit
Haml Rubin oder andere Öffentlichkeit.
Weiler Java Öffentlichkeit.
Jinja2 Python Öffentlichkeit. Eingebettete komplexe Sprache.
Kind Python
Lasso Lassosoft, LLC Proprietär. Interpretiert Programmiersprache und Server
Schnurrbart Aktionen, C ++, Clojure, CoffeeScript, Coldfusion, D, Erlang, Fantom, gehen, Java, Serverseitig JavaScript, Lua, .NETZ, Ziel c, ooc,[4] Perl, Php, Python, Rubin, Scala, Tcl Öffentlichkeit.
Basic Die Serverseite enthält (SSI) Das grundlegende Richtlinien Fix einen "Standard". Eingebettete einfache Sprache, falls ausgeschlossen Geschäftsführer Richtlinie.
Smarty Php Öffentlichkeit. Eingebettete komplexe Sprache.
Template Toolkit Perl Öffentlichkeit. Eingebettete komplexe Sprache.
Vorlagenattributsprache (Tal) Zope, Python, Java, Perl, Php, Xslt Öffentlichkeit; a.k.a. Zope -Seitenvorlagen (ZPT); siehe auch Tal Expression Syntax (ERZÄHLUNGEN), Makroerweiterung Tal (METALL)
Fliesen Java Öffentlichkeit. Unterstützt mehrere Vorlagensprachen (JSP, Geschwindigkeit, Freimaurer, Schnurrbart) aus verschiedenen Frameworks (Servlet, Portlets, Streben, Frühling).
Thymeleaf Java Öffentlichkeit.
Top -Site Python Öffentlichkeit. "Ab 2008-02-20 steht dieses Projekt nicht mehr unter aktiver Entwicklung."[5]
Zweig Php
Phplib Phplib Öffentlichkeit. Eingebettete iterbare Sprache.
Webmacro Java Öffentlichkeit. Eingebettete iterbare Sprache.
WebObjects Java Verwenden Sie das WebObjects Builder als Motor.
Geschwindigkeit Java Öffentlichkeit. Verwenden Sie VTL - Geschwindigkeitsvorlagesprache.
Vignette Proprietär. Kommerzielle Lösung. Eingebettete komplexe Sprache.
Xslt (Standardsprache) Jeder mit einem XSLT -Parser Standard. Ereignisgesteuerte programmierbare Sprache.
XQuery (Standardsprache) Jeder mit einem XQuery -Parser Standard. Eingebettete programmierbare Sprache.

Technisch gesehen sind auch die Methode zur Einbettung von Programmiersprachen in HTML (oder XML usw.), die in vielen "serverseitigen Skriptsprachen" verwendet werden. Sie sind alle Eingebettete komplexe Sprachen.

Systemetikett/Name Anmerkungen
Aktive Server-Seiten (ASP) Proprietär (Microsoft -Plattform). Siehe auch: Vbscript, JavaScript, Perlscriptusw. Erweiterungen für ASP.
Ehr Öffentlichkeit (Rubin).
Coldfusion Markup Sprache (CFM) Öffentlichkeit (Lucee, Railo, OpenBD). Proprietär (Adobe Coldfusion).
Jakarta Serverseiten (JSP) Öffentlichkeit, Jakarta ee.
Aktive Perl Öffentlichkeit.
Php Öffentlichkeit.
Openacs Öffentlichkeit (Tcl).

Es gibt auch Präprozessoren benutzt als Serverseitige Vorlagenmotoren. Beispiele:

Präprozessor Anmerkungen
C Präprozessor Öffentlichkeit. Eingebettete iterbare Sprache.
M4 Öffentlichkeit. Eingebettete komplexe Sprache.

Kantensysteme

Kantenvorlage und Einschlusssysteme. "Edge-Side" bezieht sich auf Webserver, die sich im Speicherplatz zwischen dem Client (Browser) und dem Ursprungsserver befinden. Sie werden oft als "Reverse-Proxy" -Server bezeichnet. Diese Server sind im Allgemeinen beauftragt, die Last und den Datenverkehr auf Ursprungsservern zu reduzieren, indem Inhalte wie Bilder und Seitenfragmente zwischengespeichert und diese effizient an den Browser geliefert werden.

Basic Kantenseite beinhaltet (ESI) ist eine SSI-ähnliche Sprache. Die ESI wurde für Inhaltsbereitstellungen implementiert. Die ESI-Vorlagensprache kann auch in Webbrowsern mit JavaScript und AJAX oder über einen Browser "Plug-In" implementiert werden.

Kundenseitige Systeme

Client-Seite und verteilt (dezentral) Vorlagensystem.

Viele Webbrowser können eine anwenden Xslt Stylesheet an XML -Daten, die die Daten in ein XHTML -Dokument umwandeln und so die Funktionalität der Vorlagen im Browser selbst bereitstellen.
Andere Systeme implementieren Vorlagenfunktionen im Browser mithilfe JavaScript oder ein anderes Client-Seite Scripting Sprache, einschließlich:

Verteilte Systeme

Die einfachste Form ist Transklusionen (HTML -Rahmen). In anderen Fällen Dynamische Webseiten wird gebraucht.

Beispiele:

Siehe auch

Konzepte:       Standards:
  • Uiml (Benutzeroberfläche Markup -Sprache)
  • Xslt (Extensible Stylesheet Sprachtransformationen)
      Software:

Verweise

  1. ^ "Template Engine". phpwact.org Wiki. Archiviert von das Original am 4. Dezember 2012. Abgerufen 7. Januar 2013.
  2. ^ MacDonald, Matthew (2015). Erstellen einer Website: Das fehlende Handbuch. KAPITEL 8> Den gleichen Inhalt auf mehreren Seiten> Webvorlagen> Notiz -Feld: O'Reilly Media, Inc. ISBN 9781491936177. Abgerufen 19. Januar 2016.{{}}: CS1 Wartung: Standort (Link)
  3. ^ Pelican Development Blog
  4. ^ "{{Schnurrbart}}". Abgerufen 15. Oktober 2013.
  5. ^ Jodyburns. "Top -Site -Vorlagensystem". Abgerufen 15. Oktober 2013.

9. Kostenlose E -Commerce -Website -Themen MG Technologies Blogs und Informationsportal der Website -Themen.

Externe Links