【发布时间】:2026-02-14 00:25:05
【问题描述】:
我有自己的简单模板系统,它基于正则表达式。 Here it is
它的设计方式是我可以只从 mysql 结果中传递数组,它会从定义的模板文件中返回 html 代码。
所以如果我传递数组
array(3) {
[0]=> array(5) {["DATE"]=> string(11) "21.04. 2013" ["NICK"]=> string(7) "Nashren"}
[1]=> array(5) {["DATE"]=> string(11) "22.10. 2013" ["NICK"]=> string(13) "Superman"}
[2]=> array(5) {["DATE"]=> string(11) "10.07. 2013" ["NICK"]=> string(13) "Superman"}
并且有模板
<td class="forum-last"> <strong>{{DATE}}</strong> <br> {{NICK}} </td>
它会按预期返回
<td class="forum-last"> <strong>21.04. 2013</strong> <br> Nashren </td>
<td class="forum-last"> <strong>22.10. 2013</strong> <br> Superman </td>
<td class="forum-last"> <strong>10.07. 2013</strong> <br> Superman </td>
但是!在这个特定的示例中,执行实际上需要 YEARS (比如 5 秒左右)。
我要显示的 Sql 查询是:
SELECT forum_kategorie.NAME,forum_kategorie.DESC,DATE,uzivatele.NICK,USR
FROM `zpravy`
LEFT JOIN forum_kategorie ON CONCAT( NAME, "forum" ) = URL
LEFT JOIN uzivatele on USR = uzivatele.ID
WHERE DATE = (SELECT MAX(DATE)
FROM zpravy
WHERE CONCAT( NAME, "forum" ) = URL)
GROUP BY NAME
这是上面脚本的用法。
include("php/themizer.php");
$theme = new Themizer("forum-item",$res);
$list = array("data" => $theme->getResult());
$final = new Themizer("forum-table",$list);
echo $final->getResult();
这可能是什么?
【问题讨论】:
-
实际上需要 YEARS 才能执行(比如 5 秒左右).. 所以不是几年。
-
是模板解析耗时还是MySQL查询?
-
使用现有的模板引擎,或者不使用...
-
你应该检查“literally”的意思——它的意思是真的。那么它真的需要几年,还是只需要几秒钟?
-
RoyalBg 从那以后,模板引擎灭绝了 ExplosionPills 现在看起来它的 Mysql 查询 Chris 很好......是的
标签: php mysql regex system templating