Smarty--(2)创建配置文件
完成Smarty配置工作是应用Smarty模板引擎的关键。
config.php
<?php
header("Content_type:text/html;charset=UTF8");
define('BASE_PATH',$_SERVER['DOCUMENT_ROOT']);
define('SMARTY_PATH','\sunyan2015\Smarty\\');
require BASE_PATH.SMARTY_PATH.'Smarty.class.php';
$smarty=new Smarty;
$smarty->template_dir=BASE_PATH.SMARTY_PATH.'templates/';
$smarty->compile_dir=BASE_PATH.SMARTY_PATH.'templates_c';
$smarty->config_dir=BASE_PATH.SMARTY_PATH.'configs/';
$smarty->cache_dir=BASE_PATH.SMARTY_PATH.'cache/';
$smarty->left_delimiter='{';
$smarty->right_delimiter='}';
?>
下面,我们来一一解读
1.define('BASE_PATH',$_SERVER['DOCUMENT_ROOT'])定义服务器的绝对路径
2.define('SMARTY_PATH','\sunyan2015\Smarty\')
定义Smarty目录的绝对路径
3.require BASE_PATH.SMARTY_PATH.'Smarty.class.php'
加载Smarty 类库文件
4.$smarty->template_dir=BASE_PATH.SMARTY_PATH.'templates/'
定义模板文件存储位置
$smarty->compile_dir=BASE_PATH.SMARTY_PATH.'templates_c
'定义编译文件存储位置
$smarty->config_dir=BASE_PATH.SMARTY_PATH.'configs/'
定义配置文件存储位置
$smarty->cache_dir=BASE_PATH.SMARTY_PATH.'cache/'
定义缓存文件存储位置
5$smarty->left_delimiter='{';
$smarty->right_delimiter='}';
定义定界符。开发者可以指定其他任意符号作为定界符,默认情况下为{}。
6.$smarty=new Smarty;
实例化一个Smarty对象
在创建配置文件过程中,遇到了以下问题
1.什么是服务器的绝对路径
2定义Smarty目录的绝对路径时,上层目录的层数是如何定的,或者说到底要用多少层上层目录。
如在我的计算机中,Smarty目录的路径是D:\Dev Apps\xampp\htdocs\sunyan2015\Smarty
首先define('SMARTY_PATH','\sunyan2015\Smarty\')是正确的。
但是define('SMARTY_PATH','\htdocs\sunyan2015\Smarty\');是错误的
报错说明是这样的
即D:/Dev Apps/xampp/htdocs\htdocs\sunyan2015\Smarty\Smarty.class.php)。
其中htdocs出现了两层,不理解为什么。