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():获取编译目录

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

  • 相关阅读:
    HDU 5642 King's Order 动态规划
    HDU 5640 King's Cake GCD
    HDU 5641 King's Phone 模拟
    HDU 5299 Circles Game 博弈论 暴力
    HDU 5294 Tricks Device 网络流 最短路
    HDU 5289 Assignment rmq
    HDU 5288 OO’s Sequence 水题
    星际争霸 虚空之遗 人族5BB 操作流程
    Codeforces Beta Round #3 D. Least Cost Bracket Sequence 优先队列
    Codeforces Beta Round #3 C. Tic-tac-toe 模拟题
  • 原文地址:https://www.cnblogs.com/bjphp/p/8564188.html
Copyright © 2011-2022 走看看