Smarty模板使用基础

一.安装php

 

  网上下载,选择合适的版本,解压到一个文件中,里面有个子文件夹“libs”,咱们要用的只是这个文件夹里的内容,这个文件夹里的Smarty.class.php是模板的核心。html

 

原始libs目录结构缓存

 

二.初始化服务器

 

  一般将初始化内容单独写到一个文件里,不妨新建文件config.php,而后其余文件需初始化时再调用config.phpide

<?phpui

include Smarty.class.php;//加载Samrty模板引擎,根据实际地址加载spa

$tpl = new Smarty();//建立模板类orm

$tpl->template_dir = templates;//模板文件默认目录htm

$tpl->compile_dir = templates_c;//编译文件默认目录对象

$tpl->config_dir = configs;//配置文件默认目录,即存放config.php初始化文件

$tpl->cache_dir = cache;//缓存文件默认目录

$tpl->left_delimiter = {;//默认左占位符,不推荐使用,由于CSSJS代码中可能出现“{”,

$tpl->right_delimiter = };//默认右占位符,不推荐使用,由于CSSJS代码中可能出现“}

?>

 图初始化后的libs目录

 

三.应用

 

  建立要被访问的文件index.php

 

<?php

require 'config.php';//加载配置文件,根据实际地址加载

$tpl->assign('title','第一个smarty程序');//分配变量

$tpl->assign('content','hello,world!');//分配变量

$tpl->display('index.html');//调用模板文件,该文件的基目录是templates

?>

 

  在templates目录下建立模板文件index.html

 

<html>

<head>

<title>{$title}</title>

</head>

<body bgcolor=red>

{$content}

</body>

</html>

 

  完成建立工做后,访问index.php

 

使用模板技术的index.php界面

 

四.注意事项

 

  1.由于咱们访问的是php文件,而模板文件是在php文件中包含的内容,所以在模板文件中使用到的地址所对应的当前目录是php文件所在目录,而并不是模板文件所在目录。例如在模板文件中须要添加图片,其图片的路径的必须是相对调用该该模板的PHP文件的,正由于如此使用Smarty时一般不使用相对路径。

 

  2.使用display()方法调用模板时,模板文件的基目录是templates,无需再指定,只需给出模板文件名便可。

 

  3.为了让各个目录下的PHP程序都能加载Smarty模板引擎和使用Smarty指定的目录时的惟一办法就是经过使用绝对路径,缘由在1中已经说明,故以前的config.php文件能够改为下面这样:

 

<?php

define('BASE_PATH',$_SERVER['DOCUMENT_ROOT']);//定义服务器绝对路径

define('SMARTY_PATH','/myproject/libs/');//定义libs目录绝对路径,根据实际定义

require BASE_PATH.SMARTY_PATH.'smarty.class.php';//加载smarty类库

$tpl=new Smarty();//建立一个smarty对象

/******************定义各个目录路径*********************/

$tpl->template_dir=BASE_PATH.SMARTY_PATH.'templates/';

$tpl->compile_dir=BASE_PATH.SMARTY_PATH.'templates_c/';

$tpl->config_dir=BASE_PATH.SMARTY_PATH.'configs/';

$tpl->cache_dir=BASE_PATH.SMARTY_PATH.'cache/';

?>

相关文章
相关标签/搜索