一个简单地smarty模仿功能

本秂侑毒 提交于 2019-11-26 11:01:21
<?php 
class mini {
    //模板文件目录
    public $template_dir = '';
    //模板编译后的文件目录
    public $compile_dir = '';
    //定义数组接收外部变量
    public $tpl_var = array();
    public function assign($key,$value){
        $this->tpl_var[$key] = $value;
        //var_dump($this->tpl_var);
        //die;
    }
    public function display($template){
        $comp = $this->compile($template);
        include $comp;
    }
    //编译
    public function compile($template){
        //读取内容
        $source = file_get_contents($this->template_dir.'/'.$template);
        //替换标签
        $source = str_replace('{$', '<?php echo $this->tpl_var[\'', $source);
        $source = str_replace('}', '\'];?>', $source);
        //echo $source;
        $comp = $this->compile_dir.$template.'.php' ;//
        //var_dump($comp);
        //存放内容
        file_put_contents($comp,$source);//将内容放入文件
        return $comp;
    }
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!