Inhaltsverzeichnis
Der vor der Verwendung von Vorlagen geschriebene Code lautet wie folgt:
Normalerweise lautet der Code der Datei tpl_c.html wie folgt:
index.php Normalerweise sieht der Code so aus:
Heim Backend-Entwicklung PHP-Tutorial Ein Artikel, der die Prinzipien der PHP-Template-Engine detailliert beschreibt (mit Codebeispielen)

Ein Artikel, der die Prinzipien der PHP-Template-Engine detailliert beschreibt (mit Codebeispielen)

Aug 07, 2022 pm 02:59 PM
php 模板引擎

Die Entwicklung eines Webprojekts gliedert sich normalerweise in zwei Teile: Die GUI, also die Benutzeroberfläche und die Grafik, wird mit HTML, CSS und JS geschrieben, und der andere Teil besteht aus der Geschäftslogik, also den Programmen und Funktionen, die mit PHP geschrieben werden . Die Template-Engine ist die „Brücke“, die die beiden Teile verbindet. Sie kann als PHP-Klasse verstanden werden, die viele Methoden definiert, um die ursprüngliche Ausgabe von PHP in den Schnittstellenstil zu laden und dann auszugeben.

Der vor der Verwendung von Vorlagen geschriebene Code lautet wie folgt:

<?php

$title = “标题”;

$content = “内容”;

?>

<html>

<head><title><?php echo $title; ?></title></head>

<body><?php echo $content; ?></body>

</html>
Nach dem Login kopieren

Auf diese Weise sind Kunst und Logik nicht getrennt. PHP-Programmierer müssen nicht nur Programme schreiben, sondern auch Kunst beherrschen Dies muss kombiniert werden. Die beiden Teile funktionieren separat.

Lassen Sie uns als Beispiel selbst eine einfache Template-Engine erstellen, um die Prinzipien von Template-Engines besser zu verstehen.

Wie bereits erwähnt, ist die Entwicklung eines Webprojekts in zwei Teile unterteilt: GUI und Geschäftslogik. Daher erstellen wir zwei Ordner, einen mit dem Namen „templates“, um Vorlagen zu speichern, eine neue tpl.html-Datei zu erstellen und den anderen mit dem Namen „PHP“. " , das die Geschäftslogik speichert und eine neue index.php-Datei erstellt. Der Code der Datei

tpl.html sieht normalerweise so aus:

<html>

<head><title><{$title}></title></head>

<body><{ $content;}></body>

</html>
Nach dem Login kopieren

Es ist ersichtlich, dass tpl.html im Vergleich zum vorherigen Code nur HTML-Code und keinen PHP-Code enthält, aber neue Tags hinzugefügt wurden. definiert, kann der darin enthaltene Inhalt erst erkannt werden, nachdem er von der Template-Engine kompiliert wurde, und die kompilierten Dateien werden im Ordner „templates_c“ gespeichert. Diese Datei wird hauptsächlich für das Interface-Design verwendet und verwendet eine große Anzahl von CSS, JS und anderen Technologien.

Zu diesem Zeitpunkt sind tpl.html und index.php noch getrennt und stören sich nicht gegenseitig. Sie benötigen daher eine „Brücken“-Verbindung, dh die Template-Engine, die eigentlich eine PHP-Klasse ist, damit Sie dies tun können Erstellen Sie hier eine mytpl.class.php PHP-Dateien.

Die Datei mytpl.class.php definiert normalerweise eine Klasse MyTpl. In der Klasse muss ein Array tpl_var[] definiert werden, um die Parameter der benutzerdefinierten Inhalts-Tags in tpl.html zu speichern Der Hauptzweck dieser Methoden besteht darin, die nicht erkannten Inhalts-Tags in tpl.hml in PHP-Anweisungen umzuwandeln und sie dann in den Ordner „templates_c“ zu schreiben.

Normalerweise lautet der Code der Datei tpl_c.html wie folgt:

<html>

<head><title><?php echo $this->tpl_var[“title”]; ?></head>

<body><?php echo $this->tpl_var[“content”]; ?}></body>

</html>
Nach dem Login kopieren

Sie können sehen, dass der obige Code erkannt werden kann, da die benutzerdefinierten Inhalts-Tags durch PHP-Anweisungen ersetzt wurden, aber was sind die Werte? von Titel und Inhalt Wir wissen immer noch nicht, dass die zuvor erstellte index.php zu diesem Zeitpunkt ins Spiel kommt

index.php Normalerweise sieht der Code so aus:

include  “tpl.class.php文件”;//加载模板引擎

$tpl = new MyTpl();//实例化一个模板类

$title = “标题”;

$content = “内容”;

$tpl->assign(“title”,$title);//调用模板类中的方法,分配变量

$tpl->assign(“content”,$content);

$tpl->display(“tpl.html”);//调用模板类中的方法,用于显示编译后的内容
Nach dem Login kopieren

Der obige Code ist nur ein einfacher Beschreibungscode , und die Werte der Variablen können direkt definiert oder aus der Datenbank abgerufen werden. Darüber hinaus kann diese Datei auch zum Schreiben einiger komplexer PHP-Programme verwendet werden, was der zuvor erwähnten Geschäftslogik entspricht.

Auf diese Weise wird die Arbeit von GUI und Geschäftslogik getrennt. Kunstdesigner müssen nur Vorlagendateien schreiben, um die Weboberfläche zu ändern, während PHP-Programmierer sich auf das Schreiben ihrer eigenen Programme konzentrieren können.

Unternehmen verfügen im Allgemeinen über eigene Template-Engines, und es besteht normalerweise keine Notwendigkeit, die Template-Engine selbst zu schreiben, da es bereits einige sehr ausgereifte Template-Engines auf dem Markt gibt, wie z. B. Smarty. Wir müssen nur wissen, wie man sie verwendet.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonEin Artikel, der die Prinzipien der PHP-Template-Engine detailliert beschreibt (mit Codebeispielen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

CakePHP Datum und Uhrzeit

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

CakePHP-Datei hochladen

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

CakePHP-Routing

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

CakePHP-Projektkonfiguration

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

Besprechen Sie CakePHP

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP-Kurzanleitung

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein

See all articles