我正在寻找一个非常基本的 PHP 模板系统。现在我正在使用:
/**
* Renders a single line. Looks for {{ var }}
*
* @param string $string
* @param array $parameters
*
* @return string
*/
function renderString($string, array $parameters)
{
$replacer = function ($match) use ($parameters)
{
return isset($parameters[$match[1]]) ? $parameters[$match[1]] : $match[0];
};
return preg_replace_callback('/{{\s*(.+?)\s*}}/', $replacer, $string);
}
(从这里开始:PHP - Extremely light templating system)
但我只能分配和显示变量。我还需要一种方法来使用 IF 和循环数组等条件。
我找到了 Rain TPL - http://www.raintpl.com/Quick-Start/#if - 这与我正在寻找的非常接近,但有几件事我不喜欢它:
- 它允许编写模板的人运行 PHP 函数(在 IF 条件内)。
- 它写入缓存和 php 文件,这是我不想要的
那么,有没有类似的东西,但更“基本”、更严格、更安全?
最佳答案
关于php - PHP 中的超轻型模板系统,不允许模板内的 php 代码或使用 eval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5769396/