PHP Smarty template for website

/******************************************************************************
 *                        PHP Smarty template for website
 * 说明:
 *     之前一直在想将MVC的方式加在PHP做的网站上,这样比较好处理,相对来说比较好
 * 处理,这样后续维护会比较好。
 *
 *                                         2017-3-12 深圳 南山平山村 曾剑锋
 *****************************************************************************/

一、参考文档:
    1. Smarty教程
        http://www.yiibai.com/smarty/
    2. smarty template engine
        http://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.gz
    2. 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>.tpl
    4. 注释:
        {* comments *}
    5. 赋值变量:
        $smarty->assign('name','Ned');
    6. 使用:
        {$name}
    7. 处理模板:
        $smarty->display('index.tpl');
    8. 打开debug模式:
        $smarty->debugging = true;
    9. 继承class smarty,扩展功能:
        <?php

        // load Smarty library
        require('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. 继承使用:
        <?php

        require('guestbook/setup.php');

        $smarty = new Smarty_GuestBook();

        $smarty->assign('name','Ned');

        $smarty->display('index.tpl');
        ?>
    11. 解析JSON文件当配置文件,将数据放入smarty对象中,这样就好配置了。
原文地址:https://www.cnblogs.com/zengjfgit/p/6537550.html