Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2105482
  • 博文数量: 194
  • 博客积分: 6450
  • 博客等级: 准将
  • 技术积分: 2085
  • 用 户 组: 普通用户
  • 注册时间: 2005-06-06 13:39
文章分类

全部博文(194)

文章存档

2013年(38)

2012年(11)

2011年(1)

2010年(1)

2009年(4)

2008年(13)

2007年(18)

2006年(63)

2005年(45)

我的朋友

分类:

2008-04-16 18:16:07

学习摘记: Pratical Web 2.0 Application With PHP
@date:2008-04-16
@autor: lyw0301
 
Zend_View 是一个可以协助你组织视图逻辑的类, 它并不使用特定的模版系统,
但我们如果之前有Smarty的需要,我们完全可以把它集成到 Zend_View 中,
示范代码如下:
 
    class Templater extends Zend_View_Abstract
    {
        protected $_path;
        protected $_engine;
        public function __construct()
        {
            $config = Zend_Registry::get('config');
            require_once('Smarty/Smarty.class.php');
            $this->_engine = new Smarty();
            $this->_engine->template_dir = $config->paths->templates;
            $this->_engine->compile_dir = sprintf('%s/tmp/templates_c',
                                                  $config->paths->data);
            $this->_engine->plugins_dir = array($config->paths->base .
                                                '/include/Templater/plugins',
                                                'plugins');
        }
        public function getEngine()
        {
            return $this->_engine;
        }
        public function __set($key, $val)
        {
            $this->_engine->assign($key, $val);
        }
        public function __get($key)
        {
            return $this->_engine->get_template_vars($key);
        }
        public function __isset($key)
        {
            return $this->_engine->get_template_vars($key) !== null;
        }
        public function __unset($key)
        {
            $this->_engine->clear_assign($key);
        }
        public function assign($spec, $value = null)
        {
            if (is_array($spec)) {
                $this->_engine->assign($spec);
                return;
            }
            $this->_engine->assign($spec, $value);
        }
        public function clearVars()
        {
            $this->_engine->clear_all_assign();
        }
        public function render($name)
        {
            return $this->_engine->fetch(strtolower($name));
        }
        public function _run()
        { }
    }
?>
阅读(1421) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~