• smarty模板引擎的整理


    常用PHP模板引擎介绍
    smarty,是所有PHP模板引擎的老祖宗,其它PHP模板引擎都是基于Smarty进行的二次开发。
    Template Lite
    TinyButStrong
    XTemplate
    Savant
    phemplate
    Dwoo
    Sugar
    Twig
    FXL Template
    H2o
    ns-template
    Blade

    Smarty就是php开发的模板引擎
    Smarty就是一个类文件

    Smarty下载和目录结构
    这里写图片描述
    第1个Smarty案例
    这里写图片描述
    这里写图片描述

    Smarty的常用配置
    1修改左右定界符。
    Smarty变量的左右定界符,默认是”{和}”。但是可以修改。
    这里写图片描述
    修改Smarty的左右定界符
    这里写图片描述

    Smarty常用目录的配置
    设置和读取视图文件目录:

    设置:$smarty->setTemplateDir(目录名)
    读取:$smarty->getTemplateDir(),结果是一个数组。

    设置和读取配置文件目录:

    设置:$smarty->setConfigDir(目录名)
    读取:$smarty->getConfigDir()

    设置和读取编译目录

    设置:$smarty->setCompileDir(目录名)
    读取:$smarty->getCompileDir()

    设置和读取缓存目录

    设置:$smarty->setCacheDir(目录名)
    读取:$smarty->getCacheDir()

    Smarty.class.php的构造方法,已经初始化了相关目录设置

    这里写图片描述
    修改视图文件的工作目录
    这里写图片描述
    举例说明
    这里写图片描述

    Smarty中的变量
    1普通变量
    除了资源外,其他变量在视图文件都可以使用。视图文件中,一般不会有对象变量的。
    这里写图片描述
    2保留变量
    1 )访问九大超全局数组变量
    保留变量,就是Smarty中规定好的变量,比如:九大超全局数组变量,预定义常量,时间戳等。
    保留变量,不需要通过控制器项视图传值,直接在视图中获取保留变量。
    这里写图片描述
    注意:$smarty变量是固定的,代表当前Smarty对象。
    这里写图片描述
    访问PHP预定义变量
    这里写图片描述
    Smarty时间戳
    这里写图片描述
    Smarty配置文件变量
    定义配置文件(./Home/Conf/myConfig.ini)
    有一些简单的变量,前段人员可以自行定义并调用,不需要通过控制器向视图传值。
    设置配置文件的工作目录:

    $smarty->setConfigDir(目录名)

    读取配置文件的工作目录:

    $smarty->getConfigDir(),返回一个数组。

    Smarty配置文件的扩展名,一般以 .ini 或 .conf 结尾。
    配置文件中的注释为:#
    这里写图片描述
    在试图文件中,如何访问配合变量
    这里写图片描述

    配置文件变量分组
    使用中括号[],对配置文件中的变量进行分组。
    这里写图片描述
    在视图文件读取分组的配置变量
    这里写图片描述

    Smarty中的循环——foreach
    1、foreach语法格式
    Foreach可以循环所有类型的数组:枚举数组、关联数组、混合数组。
    这里写图片描述
    实例:输出一维数组
    这里写图片描述
    实例:输出二维数组
    这里写图片描述

    foreach的常用属性应用
    @key:输出当前值的索引,可能是整型索引,也可能是字符索引;
    @index:当前循环的次数,从0开始计数;
    @iteration,当前循环的次数,从1开始计数;
    @first:当首次循环时,值为true;
    @last:当最后一次循环时,值为true;
    @total:是整个循环的次数,可以在foreach内部或外部使用;
    这里写图片描述
    Smarty中的循环——section
    Section概述和语法结构

    section循环,就是PHP中的for循环。
    for循环只能循环枚举数组。Section也只能循环枚举数组。
    for循环可以指定循环起点。如:$i =4
    for循环可以指定循环步长值。如:$i+=5
    for循环可以指定最大循环次数。

    这里写图片描述
    实例:遍历一维枚举数组
    这里写图片描述
    实例:遍历二维枚举数组
    这里写图片描述
    实例:控制步长、起始点、循环次数
    这里写图片描述
    Smarty中的条件判断——if
    if概述和三种语法结构
    这里写图片描述

    if中的运算符
    大部分PHP中的运算符,可以在Smarty中直接使用。
    这里写图片描述
    实例:if的简单应用
    这里写图片描述
    实例:表格隔行变色
    这里写图片描述
    这里写图片描述
    Smarty中的变量调节器
    变量调节器概述
    变量调节器,就是格式化的函数。
    Smarty中提供了一些常用的函数,PHP所有函数在Smarty中都可以正常使用。
    这里写图片描述
    常用变量调节器
    这里写图片描述

    upper:转成全大写字母,对应PHP的strtoupper()函数。
    lower:转成全小写字母,对应PHP的strtolower()函数。
    nl2br:将”
    ”转成”<br />”换行号。对应PHP的nl2br()函数。
    replace:查找替换。对应PHP的str_replace()函数。
    date_format:时间戳格式化函数,对应PHP的date()函数。
    truncate:截取子字符串。对应PHP的substr()和mb_substr()函数。
    substr()是按字节截取。一个汉字3个字节。
    mb_substr()是按字符载取。一个汉字是1个字符,一个字母也是1个字符。

    这里写图片描述
    date_format调节器的参数及应用
    描述:对时间戳进行格式化输出。
    语法:{$smarty.now|date_format:格式化参数}
    这里写图片描述
    这里写图片描述
    truncate调节器的应用
    描述:截取字符串到指定长度,默认长度是80. 第二个参数可选,指定了截取后代替显示的字符。 截取后的字符长度是截取规定的长度加上第二个参数的字符长度。 默认truncate会尝试按单词进行截取。如果你希望按字符截取(单词可能会被截断),需要设置第三个参数TRUE。
    语法:{$str|truncate:截取长度:代替显示的字符}
    truncate默认对应的PHP的函数是substr(),是按字节截取。
    如何让truncate按字符截取?去PHP的配置文件中开启php_mbstring.dll扩展。
    这里写图片描述
    这里写图片描述

  • 相关阅读:
    Queue
    Singly-Linked List
    Array
    HTTP请求详解
    封装element的API
    uniapp登录逻辑
    Selector学习笔记 (未完待续)
    <Scalable IO in Java>学习
    Spring PropertyMapper源码阅读笔记
    leetcode 字节跳动探索系列
  • 原文地址:https://www.cnblogs.com/liuqun/p/12655239.html
Copyright © 2020-2023  润新知