【发布时间】:2015-07-16 22:31:30
【问题描述】:
嘿,我写了一个非常简单的模板系统供我们的设计师使用。它在后台使用str_replace 来做它的事情。
效果很好!现在的问题是我想对传递的一些数据做一些循环(foreach)。
这是模板代码的示例
$var_c = [
[
"head" => "a",
"body" => "b",
"foot" => "c"
],
[
"head" => "x",
"body" => "y",
"foot" => "z"
]
];
$tpl_vars = [
"__{var_a}__",
"__{var_b}__",
"__{var_c}__"
];
$real_vars = [
$var_a,
$var_b,
$var_c
];
str_replace($tpl_vars, $real_vars, $content_body);
注意$var_c 包含一个数组,我想遍历这个数组。我如何做到这一点。
对于我正在考虑的结构
__startloop__
loop var_c as c
c[head]
c[body]
c[foot]
__endloop__
我似乎无法理解如何编写此代码。 :)
更新:Twig、smarty 和类似的东西对于这项工作来说太大而笨重。它还介绍了设计人员采用模板语言的学习曲线。
【问题讨论】:
-
....为什么不使用像 Twig 这样的模板引擎?这显然不是一个学习练习,所以时间就是金钱。以他人的工作为基础。
-
@Anonymous Twig、smarty 之类的东西对于工作来说太大太麻烦了。它还介绍了设计师采用模板语言的学习曲线。
-
<?php foreach ($items as $item): ?><!-- ... --><?php endforeach ?> -
编写自己的模板引擎是一个愚蠢的想法。使用 Savant,它快速、有据可查且易于使用 - phpsavant.com
标签: php loops template-engine