如何检测smarty模板框架的使用?

时间:2010-04-06 04:45:35

标签: php smarty

除了存在Smarty.class.php(这也是有争议的)之外,我们怎么知道php项目只是通过查看其文件结构来使用smarty模板框架?

3 个答案:

答案 0 :(得分:3)

通常,结构良好的项目将具有模板和template_c文件夹 - 尽管可以配置/更改名称。另外在这些文件夹中查找.tpl文件。

我能看到的最佳方法是寻找常见的智能功能,如获取/分配/显示或常见的智能标签,如{foreach},{assign},{if}等。

答案 1 :(得分:2)

你可能需要四处寻找模板和templates_c - 在我的一个项目中,他们甚至不在htdocs中 - smarty文件夹与htdocs处于同一级别。我们根据项目命名了我们的Smarty类,所以即使寻找“新的Smarty()”也行不通。

我认为推荐寻找常见智能功能的第一个答案可能是您最好的选择。

答案 2 :(得分:1)

我认为您可以通过查看基本视图类来了解它.E.g

class View
{
    protected $tpl;
    protected $tplfilename;

    public function __construct()
    {
        $this->tpl = new Smarty();

        $this->tpl->template_dir = dirname(__FILE__)."/templates"; 
        $this->tpl->compile_dir = dirname(__FILE__)."/templates_c"; 
        $this->tpl->config_dir = dirname(__FILE__)."/configs"; 
        $this->tpl->cache_dir = dirname(__FILE__)."/cache"; 
        $this->tpl->left_delimiter = "{|";
        $this->tpl->right_delimiter = "|}";

        $this->tplfilename = "default.tpl";
    }

    public function show()
    {
        $this->tpl->display($this->tplfilename);
    }
}

这应该是一种典型的聪明风格。