Heim  >  Artikel  >  Backend-Entwicklung  >  PHP versteht das Implementierungsprinzip, indem es selbst eine Template-Klasse schreibt

PHP versteht das Implementierungsprinzip, indem es selbst eine Template-Klasse schreibt

*文
*文Original
2017-12-23 17:17:421268Durchsuche

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 ( &#39;{$&#39;, &#39;<?php echo $this->array[\&#39;&#39;, $source );
        $source = str_replace ( &#39;}&#39;, &#39;\&#39;];?>&#39;, $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!

Stellungnahme:
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