关于php的模板引擎

濮丰
2023-12-01

关于模板引擎

这个其实,很多人不明白为什么要用它,用还是不是?一直争论不休

smarty

特别老牌的一个模板引擎

官网

简单使用

composer require smarty/smarty


        //如果非要使用 php标签(不推荐因为smarty官方就弃用了)
        //$this->smarty = new SmartyBC();
        
        $this->smarty = new Smarty();
        //设置模板根路径
        $this->smarty->setTemplateDir(root_path('view'));
        //设置编译目录
        $this->smarty->setCompileDir(runtime_path('view_c'));
        //默认的{} 会导致模板上的css报错
        $this->smarty->setLeftDelimiter('{{');
        $this->smarty->setRightDelimiter('}}');
        //两边有无空格都不会报错
        $this->smarty->auto_literal = false;

twig

重型框架 symfony
官网

composer require twig/twig
        $config = [
            "templates_path"=>root_path('view'),            // 模板路径(静态页面)
            "compilation_cache_path"=>runtime_path('view_c'),    // 缓存路径
            "debug"=>true,                   // debug
            "auto_reload"=>true,                   //根据文件更新时间,自动更新缓存
        ];


        $loader = new FilesystemLoader($config['templates_path']);
        $twig = new Environment($loader,[
            "cache"=>$config['compilation_cache_path'],
            'auto_reload' =>$config['auto_reload'],
            "debug"=>$config['debug'],
        ]);

        //添加自定义方法实例
        $sayFunction = new TwigFunction("say_name","aaaa");
        $twig->addFunction($sayFunction);
        echo $twig->render('index.html', ['the' => 'variables', 'go' => 'here']);

blade

laravel框架的

官网

think-template

tp自带的,很多人以为tp的模板引擎就是smarty,实际上不是,语法很像,如果你不是用ide开发不觉得会被影响的话,用自带的无疑是最好的

官网

 类似资料: