就本人来说,不怎么喜欢 也出来一段时间了,有时间研究下。今天有人问了我,看了下Zend_Layout使用部分。一个基本的web页面,可能页面的头和尾或某些模块都是一样,可以把公共的部分做成模版。不仅可以提高开发效率,也为后期的维护带来方便。还可以轻松实现切换主题机制。
第一步:在application.ini中配置layout路径,[production]下加入:
resources.layout.layoutPath = APPLICATION_PATH "/views/scripts/layouts"
resources.layout.layout = "layout"
文件结构如下:
第二步:建立相关文件
layout.phtml文件:
render('header.phtml');?>
layout()->nav ?>
layout()->content;?>render('footer.phtml');?>
header.phtml文件:
这是www.phpddt.com
nav.phtml文件:
footer.phtml文件:
第三步:在动作控制器中:
require_once APPLICATION_PATH.'/models/Article.php';require_once 'BaseController.php';require_once 'Zend/Layout.php';class IndexController extends BaseController{ public function init() { parent::init(); //set layout $layout = new Zend_Layout(); $layout->nav = $this->view->render('layouts/nav.phtml'); $layout->setLayout('layout'); } //这里的内容到$this->layout()->content中 public function indexAction() { $a = new Article(); $res = $a->fetchAll()->toArray(); $this->view->res = $res; $this->render('index'); }}
通过访问,你可以看到,zend已经为你加载了全部内容: