首页 > PHP > thinkphp 模板
2009四月22

thinkphp 模板

看到thinkphp的模板变量时,眼前一亮,怀念起去年用ZendFramework写的一个项目。

当时刚接触ZendFramework,一切都是很新鲜的。今天看到其模板变量的处理,感觉一切似曾相识。这种感觉,嗯。很舒服。

//ZF 模板变量的定义
$this->view->assign('user_name','小小子');
//TP 模板变量的定义
$this->assign('name','小小子');

看一下,是否很像呢?呵,而且我记着当时用ZF时,有人改过代码,定义时直接也是用assign就可以了。。

那如果我要一起定义N个模板变量,我要一直写$this->assign()吗?

NO,你还可以用下面的方式定义模板变量

class IndexAction extends Action{
    public function index(){
        $tpl_array              =       array();
        $tpl_array['user_name'] =       '小小子';
        $tpl_array['email']     =       'yufulong@gmail.com';
        $tpl_array['user_age']  =       '25';
        $this->assign("tpl_array",$tpl_array);
        $this->display();
    }
}
//ZF 模板变量生效
$this->render();
//TP 模板变量生效
$this->display();

哈,不错,这种熟悉的感觉让我对TP的想法又多了一些,呵。

模板变量定义完了,那么要怎么用呢?在模板里怎么使用它呢?

首先我们看一下TPL模板文件

TP本身已内置了一套具有TP特色的,很强大易扩展但应用非常方便兼简单的模板引擎。
在应有模块中,如果某个操作是需要页面显示的,只要对应在Myapp/Tpl/default/里建立一个文件夹,文件夹以应用模块的名称来命名,然后在这个文件夹下,建立一个以这个function名称来命名的html文件,就可以在这个方法中使用$this->display()方法来直接调用该模板。(当然也可以调用其它模块下的其它模板或显式指定模板文件位置和名称,由于是循序渐进式的学习,就让我们先忽略吧)

/home/simaopig/www/thinkphp/MyApp/Tpl
mkdir Index
cd Index
vim index.html

用左大括号与右大括号包起来,在模板中使用

{$user_name}

感觉有点像SMARTY啊。呵。。

那像我刚才用数组定义的那个在模板里咋用捏?

你可以这样用每个值

{$tpl_array['user_name']}

也可以循环整个数组,像这样

<iterate name="tpl_array" id="tpl_param">
{$tpl_param}<br />
</iterate>

name=’tpl_array’是指要循环的模板变量是tpl_array,id=’tpl_param’是指这个数据在模板输出时所使用的名称

对于TP的模板引擎输出先简单了解到这里。

唉,自己还是很懒,不爱写东西,就在刚才都还在犹豫说今天不写这个了。。呜。

坚持 。加油。

文章作者:simaopig
本文地址:http://www.xiaoxiaozi.com/2009/04/22/211/
版权所有 © 转载时必须以链接形式注明作者和原始出处!

6 Responses to “thinkphp 模板”

  1. #1 荒野无灯 回复 | 引用 Post:2009-04-23 14:02

    你在用linux啊?

    [回复]

  2. #2 simaopig 回复 | 引用 Post:2009-04-23 16:21

    @荒野无灯
    嗯。既然是学PHP,还是用LINUX的好。两样都能学。是不?

    [回复]

  3. #3 Zeric 回复 | 引用 Post:2009-04-23 17:18

    @simaopig
    正在下载 Ubuntu 9.04,是得多学学了.

    [回复]

  4. #4 荒野无灯 回复 | 引用 Post:2009-04-23 18:57

    呵呵,我准备换空间啊,
    现在已经转移了,试用一个月看稳定性和速度怎么样.
    新空间地址:
    http://blog.thinkstd.com

    [回复]

  5. #5 simaopig 回复 | 引用 Post:2009-04-23 19:41

    @Zeric
    哈,看来Ubuntu的服务器今天吃不消了。呵。

    [回复]

  6. #6 simaopig 回复 | 引用 Post:2009-04-23 19:42

    @荒野无灯
    改成.com的了?呵。不错不错。。我这就换链接地址。。

    [回复]

发表评论

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)