首页 > 代码库 > Smarty模板

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的话,这个Smart里面自带的插件就没法使用了。只能用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是核心文件,是个类。里面一定包含一些东西如左右分隔符,一个存储变量的

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

 

Smarty模板