Erstellung und Verwendung von Templates oder Templates in PHP

In diesem kleinen Tutorial werden wir darüber sprechen, wie man Vorlagen (templates) mit PHP bearbeitet. Wir werden ein paar aber große Vorteile dieser Art der Arbeit nennen:
Wir trennen das XHTML oder HTML vom PHP-Code, das heißt, unsere Vorlage wird keinen PHP-Code haben, also werden wir uns beim Entwerfen nur darum kümmern, nur zu entwerfen.
Bessere Organisation der Archive.
Die Vorlage enthält keinen PHP-Code. Jeder PHP-Code, der diesen enthält, wird einfach ignoriert und ersetzt.

Sie sind zwei, aber sehr gut, das heißt, der Designer, der für das Entwerfen verantwortlich ist, und der Programmierer, der für das Programmieren verantwortlich ist.
Lassen Sie uns nun sehen, wie dies erreicht wird. Wir identifizieren einfach den Bereich, in dem PHP durch einen Bezeichner ersetzt wird, der von “{}” – Schlüsseln umschlossen ist. Um dies klarer zu sehen, beginnen wir mit der Erstellung unserer Vorlage, wie ich bereits sagte, es handelt sich nur um XHTML- oder HTML-Code

 <html> <head> <title> Dies ist ein Test zur Verwendung von Vorlagen </ title> </ head> <body> <p> Meine {Variable} mit Vorlage und PHP </ p> </ body> </ html> 

Da wir einfach nur HTML-Code sehen, wird PHP für das Parsen der Variablen verantwortlich sein, die in geschweiften Klammern eingeschlossen sind. Dazu verwenden wir die Template-Klasse von Dano, die auf dem Template-System von phpBB basiert. Wir müssen nur den Namen unseres Templates übergeben, das Liste der Variablen, die wir analysieren und die Methode (oder Funktion, wie Sie sie besser verstehen) aufrufen, die für das Parsen zuständig ist. Dies ist der Code dieser Klasse.

 <? Klassenvorlage { Funktionsvorlage ($ template_file) { $ this-> tpl_file = 'templates /'. $ template_file '.tpl'; } Funktion assign_variables ($ vars) { $ this-> vars = (leer ($ this-> vars))? $ vars: $ this-> vars. $ vars; } Funktionsbeispiel () { if (! ($ this-> fd = @fopen ($ this-> tpl_file, 'r'))) { error_holder ('Fehler beim Öffnen der Vorlage'. $ this-> tpl_file); } else { $ this-> template_file = fread ($ this-> fd, Dateigröße ($ this-> tpl_file)); fclose ($ this-> fd); $ this-> mihtml = $ this-> template_file; $ this-> mihtml = str_replace ("'", "'", $ this-> mihtml); $ this-> mihtml = preg_replace ('#  {([a-z0-9  -_] *?) } # ist', "'. $ \ 1.'", $ this-> mihtml); reset ($ this-> vars); while (liste ($ key, $ val) = jedes ($ this-> vars)) { $$ key = $ val; } eval (" $ this-> mihtml = '$ this-> mihtml';"); reset ($ this-> vars); while (liste ($ key, $ val) = jedes ($ this-> vars)) { nicht gesetzt ($$ Schlüssel); } $ this-> mihtml = str_replace (" '", "'", $ this-> mihtml); echo $ this-> mihtml; } } } ?> 

template.png

Die Funktion assign_variables, die für den Empfang der Namen der zu analysierenden Variablen verantwortlich ist, falls dieses Beispiel eine PHP-Variable ist, die {variable} um $ variable ändert.

See also  So entfernen Sie Windows 10 automatische Reparatur

Die nächste Beispielmethode ist unser Parser als solcher, das heißt, er identifiziert die Variablen, die bei der vorherigen Methode in der Vorlage erhalten wurden, und ersetzt sie durch den gewünschten Wert.

Lassen Sie uns anhand eines einfachen Beispiels sehen, wie wir es verwenden können. Bevor wir erklären, wie unsere Dateien organisiert sein sollen, erstellen wir zunächst einen Ordner namens templates, der alle Dateien der von uns entworfenen Vorlagen auf derselben Ebene enthält, in der wir die Datei ablegen (class_plantilla) ) mit dem Template-Klassenskript und den PHP-Skripten, die es verwenden werden.

Nachdem wir uns nun die Verwendung der Klasse angesehen haben, erstellen wir unser PHP-Skript mit dem Namen noticias.php.

 <? include ("class_plantilla.php"); // Bei der Übergabe als News-Parameter wird davon ausgegangen, dass sich im Vorlagenordner eine Datei namens noticias.tpl befindet $ Content = neues Template ("news"); $ Content-> assign_variables (array ( "variable" => "news", "Variable" => "Datum" )); // $ ContentString enthält unsere Vorlage, die bereits die zu ersetzenden Variablen enthält $ ContentString = $ Content-> sample (); echo $ ContentString; ?> 

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *