Zend Framework基本页面布局分析

本文实例讲述了Zend Framework基本页面布局方法分享给大家供大家参考,具体如下:

Zend Framework 的页面布局模块——Zend_Layout——既可以跟 MVC 一起使用,也可以单独使用。本文只讨论与 MVC 一起使用的情况。

1、布局脚本

在 application/views 下创建一个 layouts 的文件夹。主布局脚本 layout.phtml 代码如下:

rush:PHP;"> doctype('XHTML1_STRICT') ?> headTitle() ?> headLink()->appendStylesheet("/styles/main.css"); // add more links ... ?> headLink() ?>
partial('leftcolumn.phtml') ?>
layout()->content ?>
partial('footer.phtml') ?>

除了 layout.phtml 之外,还需要编写 header.phtml,leftcolumn.phtml,footer.phtml,以及 main.css 等文件。 Zend Framework 的文档中用一个视图表示了页面布局的应用。

2、设置页面布局

在 MVC 下设置页面布局非常简单,编辑 html/index.PHP,加入下面两行代码

rush:PHP;"> /** Setup layout */ require_once 'Zend/Layout.PHP'; Zend_Layout::StartMVC($rootPath . '/application/views/layouts');

注意:在启动页面布局后,要调整已有的各个页面,把不需要的 html 元素,如

<body> 等去掉。另外,可以通过 $this->headTitle() 来设置<a href="https://www.jb51.cc/tag/yemian/" target="_blank" class="keywords">页面</a>的题头。</p> <p>改变<a href="https://www.jb51.cc/tag/yemian/" target="_blank" class="keywords">页面</a>的布局也很简单,只需在控制器中用下面的<a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>即可:</p> <div class="jb51code"> <pre class="brush:php;"> $this->_helper->layout->setLayout('new_layout'); </pre> </div> <p>如果<a href="https://www.jb51.cc/tag/yige/" target="_blank" class="keywords">一个</a>控制器所有动作都使用同<a href="https://www.jb51.cc/tag/yige/" target="_blank" class="keywords">一个</a><a href="https://www.jb51.cc/tag/yemian/" target="_blank" class="keywords">页面</a>布局,可以通过控制器的初始化<a href="https://www.jb51.cc/tag/hanshu/" target="_blank" class="keywords">函数</a>来设置:</p> <div class="jb51code"> <pre class="brush:php;"> public function init() { parent::init(); $this->_helper->layout->setLayout('new_layout'); } </pre> </div> <p>更多关于zend相关<a href="https://www.jb51.cc/tag/neirong/" target="_blank" class="keywords">内容</a>感兴趣的读者可查看本站专题:《<a target="_blank" href="//www.jb51.cc/Special/546.htm">Zend FrameWork框架入门教程</a>》、《<a target="_blank" href="//www.jb51.cc/Special/155.htm">php优秀开发框架总结</a>》、《<a target="_blank" href="//www.jb51.cc/Special/386.htm">Yii框架入门及常用技巧总结</a>》、《<a target="_blank" href="//www.jb51.cc/Special/39.htm">ThinkPHP入门教程</a>》、《<a target="_blank" href="//www.jb51.cc/Special/43.htm">php面向对象程序设计入门教程</a>》、《<a target="_blank" href="//www.jb51.cc/Special/84.htm">php+mysql数据库操作入门教程</a>》及《<a target="_blank" href="//www.jb51.cc/Special/231.htm"><a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a>常见<a href="https://www.jb51.cc/tag/shujuku/" target="_blank" class="keywords">数据库</a>操作技巧汇总</a>》</p> <p>希望本文所述对大家基于Zend Framework框架的<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a>程序设计有所帮助。</p><div class="topcard-tags"><a href="https://m.jb51.cc/tag/Framework/" class="tag_link" target="_blank">Framework</a><a href="https://m.jb51.cc/tag/Zend/" class="tag_link" target="_blank">Zend</a><a href="https://m.jb51.cc/tag/yemianbuju/" class="tag_link" target="_blank">页面布局</a></div> </div> </div> </div> <!-- row end--> <div class="clearfix"></div> <!-- row --> <div class="col-sm-12 col-md-12 col-lg-12"> <div class="card"> <div class="title"><h1>相关文章</h1></div><div class="list_con"> <div class="title"> <a href="https://m.jb51.cc/php/4739043.html" title="vue+thinkphp5实现微信扫码支付(NATIVE支付)">vue+thinkphp5实现微信扫码支付(NATIVE支付)</a> </div> <div class="summary">统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...</div> </div><div class="list_con"> <img src="https://m.jb51.cc/res/2024/07-30/10/32d06eca1830b39e35547ff639b7b95b.png" width="100" height="64" style="float:right;margin-left:20px;" /> <div class="title"> <a href="https://m.jb51.cc/php/4739042.html" title="uniapp+thinkphp5实现微信扫码支付(APP支付)">uniapp+thinkphp5实现微信扫码支付(APP支付)</a> </div> <div class="summary">统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...</div> </div><div class="list_con"> <img src="https://m.jb51.cc/res/2024/07-30/10/3d907355e295604aef536bba5b45dd7d.png" width="100" height="64" style="float:right;margin-left:20px;" /> <div class="title"> <a href="https://m.jb51.cc/php/4739041.html" title="uniapp+thinkphp5实现微信登录">uniapp+thinkphp5实现微信登录</a> </div> <div class="summary">前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...</div> </div><div class="list_con"> <img src="https://m.jb51.cc/res/2024/07-30/10/fc29e4e4eba385bc042444571f518ef6.png" width="100" height="64" style="float:right;margin-left:20px;" /> <div class="title"> <a href="https://m.jb51.cc/php/4739040.html" title="【PHP】关于fastadmin框架中使用with进行连表查询时setEagerlyType字段的理解">【PHP】关于fastadmin框架中使用with进行连表查询时setEagerlyType字段的理解</a> </div> <div class="summary">FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...</div> </div><div class="list_con"> <img src="https://m.jb51.cc/res/2024/07-30/10/e6971fb86d3ee30a4466e87826da43d8.png" width="100" height="64" style="float:right;margin-left:20px;" /> <div class="title"> <a href="https://m.jb51.cc/php/4739039.html" title="【workerman】uniapp+thinkPHP5使用GatewayWorker实现实时通讯">【workerman】uniapp+thinkPHP5使用GatewayWorker实现实时通讯</a> </div> <div class="summary">之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...</div> </div><div class="list_con"> <div class="title"> <a href="https://m.jb51.cc/php/4739038.html" title="uniapp+thinkphp5实现微信支付(JSAPI支付)">uniapp+thinkphp5实现微信支付(JSAPI支付)</a> </div> <div class="summary">统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...</div> </div></div> </div> <!-- row end--> </div> </div> <footer id="footer"> <div class="container"> <div class="copyright"> Copyright © 2018 编程之家. 当前版本 V7.0.16<br> <span class="ml5">编程之家 版权所有 <a href="https://beian.miit.gov.cn/" target="_blank" rel="nofollow">闽ICP备13020303号-8</a> </div> </div> </footer> <script> (function () { var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(bp, s); })(); </script> <script src="https://m.jb51.cc/js/count.js"></script> </body> </html>