/******************************************************************************* PHP Smarty template for website* 说明:* 之前一直在想将MVC的方式加在PHP做的网站上,这样比较好处理,相对来说比较好* 处理,这样后续维护会比较好。** 2017-3-12 深圳 南山平山村 曾剑锋*****************************************************************************/一、参考文档:1. Smarty教程http://www.yiibai.com/smarty/2. smarty template enginehttp://www.smarty.net/3. Parsing JSON file with PHP http://stackoverflow.com/questions/4343596/parsing-json-file-with-php 二、Smarty Download:1. gz file: https://github.com/smarty-php/smarty/archive/v3.1.30.tar.gz2. zip file: https://github.com/smarty-php/smarty/archive/v3.1.30.zip 三、配置:1. 使用相对路径加入当前项目;2. 使用require_once('<path to Smarty.class.php>'):<?php// NOTE: Smarty has a capital 'S'require_once('<path to Smarty.class.php');$smarty = new Smarty();?>3. template文件后缀名: <file name>.tpl4. 注释:{* comments *}5. 赋值变量:$smarty->assign('name','Ned');6. 使用:{$name}7. 处理模板:$smarty->display('index.tpl');8. 打开debug模式:$smarty->debugging = true;9. 继承class smarty,扩展功能:<?php// load Smarty libraryrequire('Smarty.class.php');// The setup.php file is a good place to load// required application library files, and you// can do that right here. An example:// require('guestbook/guestbook.lib.php');class Smarty_GuestBook extends Smarty {function __construct(){// Class Constructor.// These automatically get set with each new instance. parent::__construct();$this->setTemplateDir('/web/www.example.com/guestbook/templates/');$this->setCompileDir('/web/www.example.com/guestbook/templates_c/');$this->setConfigDir('/web/www.example.com/guestbook/configs/');$this->setCacheDir('/web/www.example.com/guestbook/cache/');$this->caching = Smarty::CACHING_LIFETIME_CURRENT;$this->assign('app_name', 'Guest Book');}}?>10. 继承使用:<?phprequire('guestbook/setup.php');$smarty = new Smarty_GuestBook();$smarty->assign('name','Ned');$smarty->display('index.tpl');?>11. 解析JSON文件当配置文件,将数据放入smarty对象中,这样就好配置了。