zoukankan      html  css  js  c++  java
  • 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}

  • 相关阅读:
    SpringBoot-源码解析
    SpringBoot快速部署
    vue.js
    数据库设计--三范式
    mysql 建表及练习
    索引复制迁移
    nginx检查、重启、、、
    设计模式--Strategy 策略模式
    设计模式--设计原则
    设计模式--Template Method(模板方法)
  • 原文地址:https://www.cnblogs.com/wicub/p/3143175.html
Copyright © 2011-2022 走看看