Smarty s01

 

 

复习面向过程中,如何输出显示变量的内容

         01.php

        

第一个版本,使用三个文件来输出html

         1.访问文件

         2.类MyTpl.class.php

         3.一个html模板文件

         课堂练习第一个版本

        

第二个版本,在MyTpl类中,添加了一个assign()方法,用于从入口文件分配变量到对象上,

         在模板html文件中,可以通过$this->data来访问分配过来的数据

        

第三个版本

         我们让assign()过来的变量,直在模板中使用

         模板中不能直接使用入口文件中的变量 ,需要assign()后才能在模板中使用

        

第四个版本

         让display()接收一个模板文件,实现换皮肤功能

         MyTpl类,可以通用了,例如在index.php  order.php中,都可以使用

        

第五个版本

         在输出内容的方法中,不能出现局部变量(或形参),否则模板中就可以直接使用了

 

第六个版本

         把模板中的php代码消灭掉

        

第七个版本

         对性能的优化

         如果模板已经编译好,并模板未更新,就不再编译

        

第八个版本

         让定界符可以自定义 增强用户体验

        

----------------------------------------------------------------------------

 

Smarty 3

         1.复制其中的libs目录到我们的项目中

         2.建一个模板文件 demo.tpl

         3.建一个php入口文件demo.php

        

        

定界符

         {}

         如果定界符后有一个空格,则不解析  ***

         原样输出

         {literal}{/literal}

 

注释

         {*Smarty的注释*}

         不会输出到浏览器

 

变量

         {$name}

         {$arr[0]}          {$arr['name']}           数组

         {$arr.0}           {$arr.name}                        数组,与上一行一样

         {$arr.1+1}                                            $arr[1]+1

         {$arr.{1+1}}                                         $arr[2]

         {$obj->name}                                        属性

         {$obj->say()}                                          方法的调用

         {time()}   {myfum()}                          调函数           ***

        

        

         单双引号:

         {$str="我是{$username}"}

         {$str}

         {$str='我是{$username}'}

         {$str}

         {$str="我是$username"}

         {$str}

posted @ 2013-06-18 21:25  午时的海  阅读(185)  评论(0编辑  收藏  举报