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}

  • 相关阅读:
    openAI的仿真环境Gym Retro的Python API接口(续1)—— 游戏过程记录及回放
    openAI的仿真环境Gym Retro的Python API接口
    如何使用Python环境下的2D经典游戏仿真器(openai推出的)retro库运行游戏"刺猬索尼克" (SonicTheHedgehog-Genesis)
    运行openai的gym代码报错提示import pyglet,安装后依然报错:ImportError: sys.meta_path is None, Python is likely shutting down
    “阿里事件”的结束真的是结束吗
    BMS(电池管理系统)第二课——一文说清各大IC厂商模拟前端(AFE)优缺点
    BMS(电池管理系统)第一课——BMS系统框架简介什么是BMS?
    Linux内核调试技术——kprobe使用与实现
    Qt事件:changeEvent(改变事件)
    ImGui-imgui实例解析之ShowDemoWindowWidgets-Basic
  • 原文地址:https://www.cnblogs.com/wicub/p/3143175.html
Copyright © 2011-2022 走看看