InfoQ

交流

讨论:关于模板我自己的一点看法

作者 wwwc 发布于 2003-09-02 分类:php基础编程

KnightE 提醒了我(其实以前自己也想到过,只是因为以前偏eval的时候把这个想法抛开了),有一点却是不能不承认的,snarty的确是现在最好的模板,但是他和所有的模板一样在易用性方便确做得不是很好,从我开始用编译的方法开始,我自己就写了不少的模板,但我现在又把他抛弃了,因为我自己又有了新的思路.想法是行了,不过实际操作的时候还比较困难,完成的话相信是比较好的模板

记得我以前发过一个cqlctml的模板

http://bbs.phpres.com/showthread.php?s=&threadid=40413

大家可以看看,我用的是eval,改下就可以了,eval的是php程序(就是由模板编译的),你可以把他 $msg写如一个编译文件里来include
fwrite($fp,"<?php $msg ?>");
我只是给大家提供一下编译的思路



逛论坛交流关于模板我自己的一点看法

加入书签
digg+,
reddit+,
del.icio.us+,
dzone+

2 条回复

回复

这个是编译的函数,把里面返回的 $str加.. 发表人 wwwc 发表于 09月29日
你有具体的测试过效率吗? 发表人 Lonely 发表于 09月29日
  1. 返回顶部

    Re: 关于模板我自己的一点看法

    2003年09月29日 发表人 wwwc

    这个是编译的函数,把里面返回的 $str加php就行了 $str="<?php".cqlc($file)." ?>";这样就可以把$str写到编译文件了
    function cqlctpl($file) /*函数作者,cqlc,主页:http://www.cqlc.net,
    中文档案 http://www.cqlc.net/cn_cqlctpl.txt */
    {
    $fp=fopen($file,"r");
    $msg="echo"".str_replace(""","\"",fread($fp,filesize($file)))."";";
    fclose($fp);
    $oldstr=array(0=>"/{loop[^}]+)}(.+){/loop}/si",
    1=>"/{logi[^}]+)}(.+){/logi}/si",
    2=>"/{exec[^}]+)}/si",
    3=>"/({*[^*]+*})/si"
    );
    $newstr=array(0=>"";\1{echo"\2";}echo"",
    1=>"";\1{echo"\2";}echo"",
    2=>"";\1;echo"",
    3=>""
    );
    return preg_replace($oldstr,$newstr,$msg);
    }

  2. 返回顶部

    Re: 关于模板我自己的一点看法

    2003年09月29日 发表人 Lonely

    你有具体的测试过效率吗?




  3. 我有话要讲:(可以匿名发表, 发广告的有多远请滚多远!!!)

    昵称: 请输入验证码:


抢着回答

php.ini怎样配置 session?

我的系统是xp 开始,我全部使用默认。 但出现了很多问题。 ...

村里有没有人喜欢打桥牌

一起来玩

严重抗议!

冬冬的签名令到我们班半数同学的舌头都打结了

怎样使用CSS使文字下移一个像素???

请各位指点!

我写的一个体形自测的程序

就一个程序直接可运行,绝对绿色。 这是我学PHP写的第一个程序...

大哥帮我

帮我看看问题在哪里? 1.php <? session_start(); s...

如何记忆来访者的url

比如没登陆访客试图发贴 http://bbs.phpres.com/newthr ... n...

向玫瑰致敬!

:crying: 期待更灿烂的玫瑰盛开!!!!!!!!!!!!!...

copy问题。。。急。。。

我用在上传文件的时候。 我的机器没问题。我同事的机器就有问题...

新闻上传系统的编辑器怎样实现

如题,请各位大虾多多帮忙啊!!! 不胜感激!!!

[]