Home Contact Sitemap

ZhaiYun

一个web developer的博客.

Categories

Archives

New posts

经典dos命令
关于两年前那个论坛
寻找更简单、快速的模板处理办法...
wordpress之慢之我的解决办法(性能明显提升)

New Commets

2010-07-15:感觉如何,这是国外的免费虚拟主机,专门用来测试的,逛两天上海世博回去即可开源...…
2010-07-15:测试下债云
2010-07-13:升级版本已经写好了,这段时间在上海有些事,等回武汉立即开源…
2010-07-13:后生可畏啊
2010-07-09:摘云博客 什么时候开源? :)
2010-06-26:ezxcqzqkaqgetsehcrljozuqkdbtxr
2010-05-24:博客挂了以后,很多数据都丢失了,幸好部分数据还在网上流传,这篇博文就是搜出来,应该还有不少,再去找找…

Links

摘云博客

写了很久、很多,零零散散的东西多的连自己都已记不清了,而完整且完美的东西却屈指可数,没完没了的修改、重来,着魔般的敲代码于无数寂静的黑夜和不见阳光的白昼,周而复始,只为敲出无可挑剔的代码。
然,即便种种如此这般,仍乐此不疲…

寻找更简单、快速的模板处理办法...

Post by:admin, at:2010年05月24日. Category:web开发, Tags:模板,简单快捷

(这篇也是在网上找回来的,发现好几个地方不但没有著名出处,更有自拥版权者,虽然本文价值不大,但咱还是觉得有保存下来的必要,纪念下咱在这条路上留下的痕迹... 记得本文似乎也是08年写的,当时在研究phpwind的源码,所以此文思路与phpwind的模板处理方式相似,是咱当时为抛砖引玉所做的简化版,目前已有较其更为完善方案,所以贴出来仅供留念...)

对于像现在的网站来说速度和效率无疑仍是最重要的,对于模板本人通常是这样来处理的:

模板文件./tempalet/index.htm 如下:

<!--
<?
echo <<<EOT
-->
<html>
<head>
<title>追求简单快速的模板处理方式</title>
</head>
<body>
<div>$replaceText</div>
</body>
</html>
<!--
EOT;
?>
-->

处理文件./lib/index.php 如下:

<?
/*缓存输出可视情况而定*/
ob_start();
/*逻辑处理以得到$replaceText的值*/
$replaceText='这是逻辑处理后得到的替换文本';
/*直接include模板文件*/
include('../tempalet/index.htm');
/*刷新、送出缓存*/
ob_flush();
?>


当然,我通常还根据需要把一些常用或变动不大的数据缓存起来这时ob_start()就有用了,我们可以用ob_get_content()来抓取输出然后生成静态页面,在index.php被访问的时候我们可以检查当前是否有有效的缓存数据(或静态页面),有的话直接使用没有就生成新的,而本人的习惯把数据分类然后以数组的形式(或序列化后)直接缓存于*.php中,使用时就直接include进来。

回归话题,对于比较简单模板使用处理我们可以直接使用以上的方法解决,而不必去动用如smarty之类的模板处理类库,这里不用正则去查找和替换变量相信速度自然要快得多。

当然最后还是期待热心的phper提出更好的处理办法,或对本文提出更好的建议...

Comments (3)
#1 lbneyu2010年06月26日17时29分27秒写道:
ezxcqzqkaqgetsehcrljozuqkdbtxr

#2 dddd2010年07月15日03时23分24秒写道:
测试下债云

#3 renwuxun2010年07月15日14时12分48秒写道:
感觉如何,这是国外的免费虚拟主机,专门用来测试的,逛两天上海世博回去即可开源...


用户名:
(必填,由字母、数字、下划线“_”组成)
邮箱:
(必填,不公开)
内容:
(必填,不多于500字)