PHP从自己写个模板类来理解的实现原理

*文
*文 原创
2023-03-18 10:12:01 968浏览

相信很多PHPer都有接触过模板,模板以其特定的解析语法是如何实现的呢?本文通过自己写一个简单的模板解析类,来让大家清楚地认识模板的原理。

mini类

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 . '//m.sbmmt.com/m/' . $template;
        $source = file_get_contents ( $temp );
        // 再把编译后的内容保存成.php文件
        $comp = $this->compile_dir . '//m.sbmmt.com/m/' . $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快速上手总结

php简洁函数小结

以上就是PHP从自己写个模板类来理解的实现原理的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。