an template 模板类新人类,使用简单速度超快
时间:2007-01-22
来源:互联网
什么人适合用本模板:
1、喜欢简单的,不废力气就可学会使用的。
2、对速度要求比较高,特别是动态的论坛、博客。
an template
特点:简单与速度的结合。
1、简单。会用函数就成,全部学习时间3分钟。
2、速度快。编译型。使用函数代入变量的处理方式,这是最快的模板处理方法了。
an template 与phplib template相比的优点:
1、模板写法与phplib兼容。
2、自动编译,不需要设置。phplib需求手动设置比较累,尤其是要一层一层设置子模板更是很恐怖。
3、使用更简单,模板编成标准的类,直接调用就可。phplib要自己去调用。
4、封装了列表与2维表格的方法,极大降低了模板替换与循环的复杂度。phplib要自己去控制,没有经验的人很容易出错。
5、速度快,将模板编译成标准类,生成对象来调用,是函数与变量的操作,phplib是“解释”型的,是用字符替换操作。
模板文件tmpl_1.html
代码:
<html><body>
{$_SELF['var']}
通过var:{var}
通过\$g_out['var']:{$g_out['var']}
</body>
</html>
代码:
<?phpinclude_once('../template.class.php');
$g_out['var'] = '我是全局变量var';
$tmpl_array['var'] = '我是模板变量var';
//--- 模板处理开始 ---------------------
// 生成模板对象
$T = new template();
// 设置模板文件名
$top = $T->set_file('tmpl_1.html');
// 执行模板方法,传值并显示
$top->main(T_ECHO,$tmpl_array);
?>
代码:
<html><body>
我是模板变量var
通过var:我是全局变量var
通过$g_out['var']:我是全局变量var
</body>
</html>
1、本模板的目的是将显示部分分离出来,以消除代码混写的痛苦,请勿将本模板与smarty来比,两者解决的问题根本不一样。
2、本模板特点是使用简单、速度快,而不是功能的强大,如果需要想功能强大的模板,推荐smarty。
3、速度测试了吗?没有测的必要,在两年对比过代码混合方式,一点不慢,可以说如果你代码混合写得不好的话,还没有我的模板快。
4、这个模板最初是我在sina的时候写的,听说现在还有部门在用。经多次修改,代码已经全部重写,所以我可以放心的公开给大家。当初水平有限问题多多,向sina的兄弟们致歉。
5、感谢sina的领导和兄弟们,当时你们给了我灵感。
6、如果大家感觉好,介绍给你的朋友还有朋友的朋友。感觉不好或者Bug之类的,请与我联系[email protected],男奖饭1顿,女奖饭0顿。
7、免费使用、随意修改,代码里给兄弟我留个名就成。谁不想出名啊:)
8、这个类已经用了2年,但是最近又修改过,可能还会有些bug,发现Bug处理方法同6。
9、写了使用说明和用法示例,每个都测试了,真累,大周日的,兄弟们用得好了别忘记请我吃饭。
[ 本帖最后由 bluedoor 于 2007-1-22 23:03 编辑 ]
作者: bluedoor 发布时间: 2007-01-21
给大家透露下,bluedoor 兄原来在sina工作,现在正是北京某知名网站的总监,希望大家多多关注啊。:D
作者: PHPChina 发布时间: 2007-01-22
作者: terry39 发布时间: 2007-01-22
作者: error 发布时间: 2007-01-22
作者: cysin 发布时间: 2007-01-22
作者: PHPChina 发布时间: 2007-01-22
我能理解楼主希望进一步获得发展的心情。
作者: PHPChina 发布时间: 2007-01-22
作者: 快乐基因 发布时间: 2007-01-22
作者: benzene 发布时间: 2007-01-23


作者: 绿竹居 发布时间: 2007-01-23
作者: simonlin 发布时间: 2007-01-23
给bluedoor赞一个
新的开始,我们的论坛氛围越来越好了:牛人多了,交流的氛围浓了,PHP圈子有了
作者: carra 发布时间: 2007-01-23
引用:
原帖由 benzene 于 2007-1-23 12:46 发表谢谢楼主,不过想问问,对缓存的支持怎么样,功能无所谓,主要是缓存机制,可以设定缓存吗,以及缓存时间吗
对于一个程序来说基本上用页面缓存就够了。
作者: bluedoor 发布时间: 2007-01-23
引用:
原帖由 carra 于 2007-1-23 15:31 发表开源,开放,分享,交流
给bluedoor赞一个
新的开始,我们的论坛氛围越来越好了:牛人多了,交流的氛围浓了,PHP圈子有了
作者: bluedoor 发布时间: 2007-01-23
引用:
原帖由 bluedoor 于 2007-1-23 16:14 发表缓存是这样的,缓存加到模板里意义不大,而且层次不清晰。
对于一个程序来说基本上用页面缓存就够了。
作者: benzene 发布时间: 2007-01-23
引用:
原帖由 benzene 于 2007-1-23 16:21 发表我对PHP不是特别了解,我知道SMARTY,开启缓存的时候是生成HTML的文件,然后客户端在请求的时候,只是打开这个HTML文件,不知道你的设想思路是如何,不过还是感谢你提供这样的文件,呵呵,支持你
如果使用类似smarty的页面缓存,就会导致页面缓存加的位置不够理想,呵呵,可能我们对效率要求高了。
作者: bluedoor 发布时间: 2007-01-23
作者: myaxl2008 发布时间: 2007-01-23
作者: shenstef 发布时间: 2007-01-23
作者: wwwfk 发布时间: 2007-01-23
引用:
原帖由 cysin 于 2007-1-22 17:39 发表顶一个先,不过我想知道它的思路与传统模板比有什么不同或者优势?
作者: bluedoor 发布时间: 2007-01-23
为什么还生成PHP文件?
作者: 野草 发布时间: 2007-01-24
引用:
原帖由 野草 于 2007-1-24 09:13 发表如何应用?看的有点晕!
为什么还生成PHP文件?
为提高效率使用“编译”处理,所以要生成PHP文件。
作者: bluedoor 发布时间: 2007-01-24
引用:
原帖由 bluedoor 于 2007-1-23 23:16 发表这个模板可以用来做大访问量的动态应用。而有一些模板做不了。可以说,动态应用使用中这个模板不会出现整体的瓶颈。
就拿缓存来说,不一定有用户访问的就要缓存,数据库的处理能力还是很强的。缓存那些更新非常频繁就可以。另外缓存不一定要用文件,可以缓存数据即可,PHP在组装页面的速度还是非常可靠的。如果缓存整体页面会造成磁盘空间浪费或者IO压力增加(CMS静态化处理除外)。
作者: PHPChina 发布时间: 2007-01-24
引用:
原帖由 simonlin 于 2007-1-23 15:03 发表不顶不行 感谢安然同学
作者: PHPChina 发布时间: 2007-01-24
作者: leehui1983 发布时间: 2007-01-24
作者: jame298 发布时间: 2007-01-24
作者: guoguolovessgg 发布时间: 2007-01-28
作者: goshawk 发布时间: 2007-01-28
到底好不好啊???????????、、、、、:(
作者: kaixin99 发布时间: 2007-01-28
我最近也做了个很简单的模版,与其他模版引擎最大的不同就是编译出来的.php文件是脱离模版引擎来用的。这样把模版引擎的负担都消除了。
不过功能就比不上这个了。正好借鉴一下楼主的模版引擎。
作者: dualface 发布时间: 2007-01-29
引用:
原帖由 dualface 于 2007-1-29 21:34 发表顶一下,安然是以前做树型论坛那位开发者。
我最近也做了个很简单的模版,与其他模版引擎最大的不同就是编译出来的.php文件是脱离模版引擎来用的。这样把模版引擎的负担都消除了。
不过功能就比不上这个了 ...
如果需要我可以帮你做与你框架的融合.
作者: bluedoor 发布时间: 2007-02-01
代码:
else {$this->file['final_filename'] = '../cache/' . $this->file['template_filename'].'_'.$this->version.'.php';}作者: 飞翔de希望 发布时间: 2007-04-10
作者: Phzzy 发布时间: 2007-04-10
作者: louis75168611 发布时间: 2007-04-11
作者: 默默 发布时间: 2007-04-11
作者: yhsmengdi 发布时间: 2007-04-16
作者: haitao 发布时间: 2007-04-20
作者: hiler 发布时间: 2007-04-20
作者: 散步的男人 发布时间: 2007-05-20
我认为还是编译成html里插入php标签的好
作者: fengye2751 发布时间: 2007-05-20
作者: phpvista 发布时间: 2007-07-10
作者: liexusong 发布时间: 2007-07-12
引用:
原帖由 飞翔de希望 于 2007-4-10 22:02 发表第89行可以改为
else {$this->file['final_filename'] = '../cache/' . $this->file['template_filename'].'_'.$this->version.'.php';}
这样的话,就可以把cache单独放在一个目录了
作者: lifeibest 发布时间: 2008-01-31
作者: lifeibest 发布时间: 2008-02-01
作者: 小菜鸟 发布时间: 2008-02-01
把模板变量换成像 smarty 一样的 {$var},感觉 {$_SELF['var']}
还有就是增加一个编译后的目录,原有生成的编译文件和原文件放在一个文件夹里都混了.
作者: omcmc 发布时间: 2008-02-01
PHP代码:
$reg = "/<!--[ ]+BEGIN[ ]+(\w*)[ ]+-->/";if (preg_match($reg, $str, $m)) {
$child = $m[1];
$reg = "/<!--[ ]+BEGIN[ ]+{$child}[ ]+-->(.*)<!--[ ]+END[ ]+{$child}[ ]+-->/sm";
preg_match($reg, $str, $m);
PHP代码:
$str = $this->getVar($parent);$reg = "/[ \t]*<!--\s+BEGIN $handle\s+-->\s*?\n?(\s*.*?\n?)"
. "\s*<!--\s+END $handle\s+-->\s*?\n?/sm";
preg_match_all($reg, $str, $m);
作者: lifeibest 发布时间: 2008-02-01
引用:
原帖由 streen003 于 2008-2-23 23:36 发表仁兄作品里这段程式
$reg = "//";
if (preg_match($reg, $str, $m)) {
$child = $m[1];
$reg = "/(.*)/sm";
preg_match($reg, $str, $m);
和PHPLIB里的
$str = $this->getVar($parent ...
作者: streen003 发布时间: 2008-02-23
作者: bluedoor 发布时间: 2008-03-03
作者: yunfeier 发布时间: 2008-04-16
也许是我对smarty不够了解,我先说说我的想法先。
使用smarty的页面执行流程是这样的,反正我见的不少使用示例都是这样:
1,从数据库等取出数据,对数据进行一些必要的运算或者处理
2,声明smarty类
3,设置需要在模板中显示的数据
4,输出模板
那么smarty的静态缓存是从哪个阶段开始输出的呢??
如果是在第一个步骤之前,那么无疑很有效果
但是如果是在第四步,那又有什么效果呢??
据说PHP执行的效率很高,一个页面的执行时间其实有90%是PHP在等待数据,如果smarty的静态缓存是在第四步才开始输出的,那么他省去的仅仅是10%中的部分,这有什么意义吗?
如果smarty的静态缓存输出实在第一步之前,那才有意义,如果是这样的话,我承认我说错话了。不过我还是要说的是,smarty的静态缓存还是扯淡,因为smarty太庞大了。将smarty包含进来,也许要比服务器仅仅输出一个静态文件花费的时间都还要长。
我个人认为,要想静态化,还是在输出列表的时候直接指向一个静态的页面。这样才不会使那些多花费的存储空间不至于花费的太冤枉。
作者: leebay0427 发布时间: 2008-04-27
个人认为DZ的那种模式才是最好的。
include template();
在template中进行缓存有效性验证,有效的话返回缓存的路径,无效则加载模板编译部分的代码进行模板编译。
先说说页面的体积问题。体积越大,加载的时间就越长,DZ的这种模式,会极大的减小模板引擎的体积,因为template也就那么几行代码而已,逻辑也很简单。
而一个网站建成后,很少需要再去重新编译模板,因此,只这一点,就可以节省很多时间了。
还有一点,就是DZ的缓存相当于直接include进来的,因此,也就不需要再去为模板中要显示的数据,弄到模板函数或类中而浪费时间与性能,所有数据,在模板中可以直接使用。
楼主说的,利用函数来输出数据,我不太懂,难道能比直接echo还来的快吗???
作者: fhjr999 发布时间: 2008-04-27

作者: fhjr999 发布时间: 2008-04-27
作者: richardhc 发布时间: 2008-05-12
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28