zoukankan      html  css  js  c++  java
  • smarty模板技术

    smarty简介:

    smarty是php领域流行的一种模板技术,免费,其核心就是一个类(smarty类)。

    我们的主要目标就是学习怎么使用这个类。

    smarty的特点:

    速度快(因为第二次执行的时候使用第一次执行时生成的编译文件)

    缓存技术(正是因为缓存技术,使得smarty模板技术不太适合那些对于实时性更新要求比较高的,比如股票信息)

    插件技术(正是因为插件技术,使得smarty可以被扩展)

    编译型(访问一个页面一次之后会生成一个编译文件,第二次再来访问这个页面的时候,就会访问这个编译文件,从而提高访问速度);

    $smarty->assign('变量名',数据)

    smarty内部变量:

    $smarty.now:获取当前时间,是一个时间戳(整数)

    $smarty.get:获取到$_GET数据,$smarty.get.xx相当于$_GET['xx']

    $smarty.post:获取到$_POST数据,  $smarty.post.xx相当于 $_POST[‘xx’]

    $smarty.cookies:获取到$_COOKIE数据,  $smarty.cookies.xx相当于 $_COOKIE[‘xx’]

    $smarty.session:获取到$_SESSION数据,  $smarty.session.xx相当于 $_SESSION[‘xx’]

    $smarty.const:  获取到php程序中的常量数据

    $smarty.config:获取到配置数据

    内建函数:

    就是写在模板文件中,用于实现一定功能的smarty语句或语法。

    模板文件中,有时候不是简单的“输出数据”,而可能还会需要一些其他的功能。内建函数就起这个作用。

    跟前面的变量对比来说:

    变量(数据)只是单纯的输出,

    但:

    内建函数并不是输出数据,而是在模板中实现某种功能,

    ,比如:

    载入配置文件,实现if判断,实现循环逻辑。。。。

    常用内置函数有:

    {config_load}:载入配置文件。

    {include}:载入(引入)其他模板文件到当前模板文件。

    {if}:用于实现if语句。

    {for}:用于实现循环。

    {foreach}:用于对数组进行遍历。

    {while}:用于实现循环。

    {literal}:用于标识一段代码排除在smarty的处理逻辑中——即不被smarty处理!通常就是css代码和js代码中的大括号,跟smarty的大括号有冲突,用此来解决。

    literal函数的使用:

    对于解决smarty与跟css(和js)语法的可能冲突,还有一个方法:

    修改smarty的“边界符”;

    $smarty->left_delimiter = “<{“;

    $smarty->right_delimiter = “}>“;

    则所有的模板中的smarty边界符都要按上述来做,比如:

    <{$v1}>

    <{if  $age > 18 }>

    。。。。。

    <{/if}>

    自定义函数:

    也是函数,只是不作为smarty里模板文件中的核心函数,它常常用于构建并输出一些html代码内容。

    smarty常量:

    template_dir:表示“模板文件所在目录”;

    template_dir:表示“模板文件所在目录;

    left_delimiter:表示smarty语法的左边界。

    left_delimiter:表示smarty语法的左边界。

    smarty常用方法:

    assign():变量赋值

    display():加载模板

    setTemplateDir():设置模板目录

    setCompileDir():设置编译目录

    getTemplateDir():获取模板目录

    getCompileDir():获取编译目录

    ~~~~~~~~~~~~~~~

  • 相关阅读:
    c++ set unordered_set区别
    LeetCode 213. 打家劫舍 II
    LeetCode 152. 乘积最大子序列
    [HAOI 2012] 外星人
    [HAOI 2016] 找相同字符
    [ZJOI2007] 仓库建设
    [SCOI 2016] 美味
    [BZOJ 2127] Happiness
    [NOI2009] 植物大战僵尸
    [SDOI 2016] 数字配对
  • 原文地址:https://www.cnblogs.com/bjphp/p/8564188.html
Copyright © 2011-2022 走看看