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}

  • 相关阅读:
    redis持久化之AOF和RDB
    pycharm快捷键
    500系列错误
    400系列错误
    Linux常用命令大全
    从浏览器输入一个地址,发送请求,经历了哪些过程(面试问题)
    401的错误分析
    301和302的区别
    数据库 语法收集 (主 mysql,次oracle,日常积累)
    python 发送邮件 smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed') 以及授权码设置步骤
  • 原文地址:https://www.cnblogs.com/wicub/p/3143175.html
Copyright © 2011-2022 走看看