zoukankan      html  css  js  c++  java
  • smarty第一天

    1、安装

    安装Smarty发行版在/libs/目录里的库文件(就是解压了).

    2、工作原理

    美工人员
    1. 写模板, HTML CSS JavaScript
    2. 使用Smarty表现逻辑 放变量, 遍历和判断数据

    PHP程序员
      1. PHP程序和原来一样(连接数据, 图,文件)
      2. 加载Smarty引擎, 并创建对象

      3. 向引擎中分配变量(分数据)

      4. 显示那个模板

    3、Smarty使用注意事项

      1. 因为我们访问是PHP文件,而模板是在PHP中包含的内容,所以在模板中使用 图片,CSS文件,js文件,都要以 访问的PHP目录为主
      2. 所有display模板时(还是模板中include),都要以Smarty对象中指定的模板目录为基目录
      3. 如果想让各个目录下的PHP程序都可以加载Smarty和使用Smarty指定的 模板和编译目录,唯一的办法就是使用绝对路径。

     4、在smarty中使用变量

    (1)php程序中分配给模板变量

    动态的数据(PHP从数据库或文件,以及算法生成的变量)

    任何类型的数据都可以从PHP分配置过来

    注意数组:关联数组不是使用【关联下标】,而是使用.下标。

    (2)例子设置表格的外观

    模板的外观(界面设计的变量)

    要使用 $tpl->configs_dir="目录" //指定配置文件存放的目录

    在模板中要使用 <{configs_load file="view.conf"}> 加载view.conf配置文件

    使用section="区域" [设置区域]
    <{#border#}>
    <{$smarty.config.border}>

    5、自定义函数

    一种是使用注册的方式,注册函数和块。另一种是使用smarty插件,写的时候严格参照命名规范。

    在smarty中调用函数,是以自定义的标记(类似于html)的形式。

    6、变量调节器

    (1)在Smarty文件中的变量后面使用 "|"后面加函数名,这个函数第一个参数就是这个变量,如果有其它参数, 使用“:”加参数, 多个参数使用":"分开

    (2)组合调解器的使用

    7、内建函数

    在模板中的调用方式都和使用HTML标记类似

    Smarty内部的函数,只能按手册提供的方式使用,不可以改,也不能添和删除

    比如: 流程控制 if , 数组的遍历, 以及 文件件包含,配置文件导入都要使用Smarty的内建函数帮我们完成。

    8、缓存功能

    Smarty缓存和网页表态化一样, 使用Smarty缓存使用非常方便

      1. 需要开启缓存
      2. 指定一下缓存的时间
      3. 指定缓存文件保存位置

    开启这些内容只需要为Smarty的属性初使化即可

    注意:
      1. 一个模板只能有一个缓存文件,如果一个模板的多个文章,则需要每个文章有一个
    缓存
    $tpl->display("test.tpl", cacheid);

    第二个参数,每变化一个值就会有一个不同的缓存(最好使用$_SERVER["REQUEST_URI"])

      2. 一定要处理,如果有缓存了就不要执行连接数据库和到数据库中操作数据表了。

    使用smarty中的is_cached()方去判断,它的用法和display()相同

    局部缓存设置
    使用一个块标记完成


    清除缓存功能

  • 相关阅读:
    atitit.团队建设要不要招技术储备人才的问题
    Atitit. 最佳实践 QA降低cpu占有率cpu占用太高怎么办
    Atitit.struts2体系结构大总结
    Atitit.hibernate体系结构大总结
    Atitit.软件GUI按钮与仪表盘db数据库区导入mysql sql错误的解决之道
    Atitit. Gui控件and面板程序快速启动区最佳实践Launchy ObjectDocko0g
    Atitit。团队建设管理最佳实践如何留住核心人才,防止人才流失 ??
    Atitit.ALT+TAB没反应车and 点击任务栏程序闪烁但是不能切换
    Atitit.Gui控件and面板数据库区mssql 2008 权限 配置 报表查看成员
    Atitit.故障排除系列NoClassDefFoundError NoClassDefFoundError
  • 原文地址:https://www.cnblogs.com/h-g-f-s123/p/5735164.html
Copyright © 2011-2022 走看看