zoukankan      html  css  js  c++  java
  • Smarty模板

    Smarty是为了实现代码的前后端分离的,也就是它能够把php代码和网页的代码分开。

    Smarty的配置文件

    <?php
    
    echo __FILE__;    //取到当前文件的路径。两边都是双下划线。
    
    define("ROOT",str_replace("\","/",dirname(__FILE__)).'/'); //常量ROOT中指定项目根目录
    
    define   //是用来定义一个常量,这个常量一般是不会变的。常量一般是大写的,变量是小写的。
    //定义一个常量叫做ROOT,它的值是逗号后面那些。 也就是当前文件的路径。
    
    $smarty -> auto_literal = false; //就可以让定界符号使用空格。
    //smarty这个对象调用auto_literal方法把其值设置为false关闭,就可以让定界符也就是"{" 花括号里
    //面的内容可以使用空格。因为花括号里面如果没有空格就会被解析,如果有空格就会被解析掉。这里设置为关
    //闭之后就代表设置的定界符里面允许使用空格。这样造成的后果就是样式表内或者JS里面因为他们里面有空格
    //所以就可能会被解析掉。
    
    $smarty->setTemplateDir(ROOT.'templates/'); //设置所有模板文件存放的位置
    $smarty->addTemplateDir(ROOT.'templates2/'); //追加一个模板文件夹,可以用来存放模板
    
    $smarty->setCompileDir(ROOT.'templates_c/'); //设置编译过的文件存放的文件夹
    
    $smarty->addPluginsDir(ROOT.'plugins/'); //设置为模板扩充插件存放目录
    //这里不能用set如果用set的话,这个Smarty里面自带的插件就没法使用了。只能用add来追加一个文件夹
    
    $smarty->setCacheDir(ROOT.'cache/'); //设置缓存文件存放目录
    $smarty->setConfigDir(ROOT.'configs/'); //设置模板配置文件存放目录
    
    $smarty->caching = false; //设置Smarty缓存开关功能
    $smarty->cache_lifetime = 60*60*24; //设置缓存模板有效时间一天
    
    $smarty->left_delimiter = '<{'; //设置模板语言中的左结束符
    $smarty->right_delimiter = '}>'; //设置模板语言中的右结束符
    //这里把定界符改成<{ 和 }> 这样就避免解析错了,出问题。 把定界符改成了一个特殊的符号。
    
    ?>

    Smarty里都是根据project这个文件夹的路径来找的,只要知道了project这个文件夹的路径,那么其他的所有文件都可以找到。

    Smarty里面所有的文件夹解读:

    //cache里面是用来存放缓存文件的。

    //configs是用来存放配置文件的。

    //css是用来存放样式。js是用来存放js

    //main是用来存放程序的文件。是一个专门用来写访问的页面的文件夹,所以访问的都是php页面。

    //plugins是用来存放自己写的插件的。    

    //templates是用来存放模板文件的      就是存放对应模板的

    //templates_c是用来存放编译后的文件的。

    //init.inc.php这个文件相当于是个入口文件。也就是说所有使用Smarty的页

    //面首先都要把这个文件引入才能够使用。

    // libs文件夹是Smarty核心文件夹。打开如下

    //plugins文件夹里面放的是插件. sysplugins放的是系统插件.这两个文件夹都是用来存放插件的。

    //Smarty.class.php是核心文件,是个类。里面一定包含一些东西如左右分隔符,一个存储变量的

    //数组也有,里面的一个注册变量的方法会有,一个显示模板的方法也会有。是个核心的类文件

    从浏览器访问本地文件的网页在地址栏内输入的格式:

  • 相关阅读:
    sublime问题:失去焦点自动保存
    sublime问题:Tab键不缩进
    sublime问题:默认的中文字体显示异常
    pip换源 解决下载速度慢
    Oracle问题:ORA-01843: 无效的月份
    Eclipse设置自动生成的javadoc
    Java命名规范
    redis的道面试题, 有这一篇就足够了
    批量编译生成python的pyd文件
    测试种类大汇总(45类)
  • 原文地址:https://www.cnblogs.com/shandayuan/p/7351687.html
Copyright © 2011-2022 走看看