Ich glaube, dass viele PHPer mit Vorlagen in Berührung gekommen sind. Wie werden Vorlagen mit ihrer spezifischen Parsing-Syntax implementiert? In diesem Artikel kann jeder das Prinzip von Vorlagen klar verstehen, indem er eine einfache Klasse zum Parsen von Vorlagen schreibt.
Minikurs
class mini { public $template_dir = ''; // 模板文件存放的位置 public $compile_dir = ''; // 模板文件编译后存放的位置 public $array = array (); public function assign($key, $value) { $this->array [$key] = $value; } /* * 调动compile来编译模板,并自动引入; */ public function display($template) { $comp = $this->compile ( $template ); include ($comp); } /* * 传一个参数,读取那个html模板 流程:把模板读取过来,编译成php */ public function compile($template) { // $template是一个html文件 $temp = $this->template_dir . '/' . $template; $source = file_get_contents ( $temp ); // 再把编译后的内容保存成.php文件 $comp = $this->compile_dir . '/' . $template . '.php'; // 判断模板是否已经存在,或者修改; if (file_exists ( $comp ) && filemtime ( $temp ) < filemtime ( $comp )) { return $comp; } $source = str_replace ( '{$', '<?php echo $this->array[\'', $source ); $source = str_replace ( '}', '\'];?>', $source ); // echo $source; file_put_contents ( $comp, $source ); return $comp; } }
Verwandte Empfehlungen:
[Kurs] Video-Tutorial zur PHP-Basisanalyse
Zusammenfassung für den schnellen Einstieg in PHP
Zusammenfassung der prägnanten PHP-Funktionen
Das obige ist der detaillierte Inhalt vonPHP versteht das Implementierungsprinzip, indem es selbst eine Template-Klasse schreibt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!