多くの PHPer がテンプレートに触れたことがあると思いますが、テンプレートはその特有の解析構文でどのように実装されているのでしょうか?この記事では、簡単なテンプレート解析クラスを作成することで、誰もがテンプレートの原理を明確に理解できるようにします。
ミニクラス
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; } }
関連おすすめ:
以上がPHPはテンプレートクラスを自分で書くことで実装原理を理解しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。