Zend Framework基本页面布局分析


Posted in PHP onMarch 19, 2016

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

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

1、布局脚本

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

<?php echo $this->doctype('XHTML1_STRICT') ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php echo $this->headTitle() ?>
<?php
$this->headLink()->appendStylesheet("/styles/main.css");
// add more links ...
?>
<?php echo $this->headLink() ?>
</head>
<body>
<div id="header">
<?php echo $this->partial('header.phtml') ?>
</div>
<table>
<tr>
<td valign=top>
<div id="leftcolumn">
<?php echo $this->partial('leftcolumn.phtml') ?>
</div>
</td>
<td valign=top>
<div id="content">
<?php echo $this->layout()->content ?>
</div>
</td>
</tr>
</table>
<div id="footer">
<?php echo $this->partial('footer.phtml') ?>
</div>
</body>
</html>

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

Zend Framework基本页面布局分析

2、设置页面布局

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

/** Setup layout */
require_once 'Zend/Layout.php';
Zend_Layout::startMvc($rootPath . '/application/views/layouts');

注意:在启动页面布局后,要调整已有的各个页面,把不需要的 html 元素,如<header> <title> <body> 等去掉。另外,可以通过 $this->headTitle() 来设置页面的题头。

改变页面的布局也很简单,只需在控制器中用下面的代码即可:

$this->_helper->layout->setLayout('new_layout');

如果一个控制器所有动作都使用同一个页面布局,可以通过控制器的初始化函数来设置:

public function init() {
parent::init();
$this->_helper->layout->setLayout('new_layout'); 
}

希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。

PHP 相关文章推荐
ftp类(myftp.php)
Oct 09 PHP
在PHP中实现Javascript的escape()函数代码
Aug 08 PHP
php URL验证正则表达式
Jul 19 PHP
如何使用php判断所处服务器操作系统的类型
Jun 20 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
Aug 06 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
Aug 11 PHP
php中ftp_chdir与ftp_cdup函数用法
Nov 18 PHP
php实现比较全的数据库操作类
Jun 18 PHP
学习php设计模式 php实现单例模式(singleton)
Dec 07 PHP
php微信公众平台示例代码分析(二)
Dec 06 PHP
PHP Swoole异步读取、写入文件操作示例
Oct 24 PHP
用php如何解决大文件分片上传问题
Jul 07 PHP
Zend Framework连接Mysql数据库实例分析
Mar 19 #PHP
Zend Framework+smarty用法实例详解
Mar 19 #PHP
ThinkPHP使用Smarty第三方插件方法小结
Mar 19 #PHP
smarty学习笔记之常见代码段用法总结
Mar 19 #PHP
FleaPHP框架数据库查询条件($conditions)写法总结
Mar 19 #PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
Mar 18 #PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
Mar 18 #PHP
You might like
关于PHP中操作MySQL数据库的一些要注意的问题
2006/10/09 PHP
计算2000年01月01日起到指定日的天数
2006/10/09 PHP
解析dedecms空间迁移步骤详解
2013/05/15 PHP
THINKPHP2.0到3.0有哪些改进之处
2015/01/04 PHP
服务器上配置PHP运行环境教程
2015/02/12 PHP
基于PHP技术开发客服工单系统
2016/01/06 PHP
Yaf框架封装的MySQL数据库操作示例
2019/03/06 PHP
jQuery学习笔记 操作jQuery对象 CSS处理
2012/09/19 Javascript
可简单避免的三个JS发布错误的详细介绍
2013/08/02 Javascript
js+HTML5基于过滤器从摄像头中捕获视频的方法
2015/06/16 Javascript
jQuery插件datalist实现很好看的input下拉列表
2015/07/14 Javascript
用js实现博客打赏功能
2016/10/24 Javascript
微信小程序 wx:key详细介绍
2016/10/28 Javascript
js控制按钮,防止频繁点击响应的实例
2017/02/15 Javascript
[js高手之路]寄生组合式继承的优势详解
2017/08/28 Javascript
vue微信分享插件使用方法详解
2020/02/18 Javascript
微信小程序实现多行文字滚动
2020/11/18 Javascript
vue基于Echarts的拖拽数据可视化功能实现
2020/12/04 Vue.js
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
python操作ie登陆土豆网的方法
2015/05/09 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
2018/04/27 Python
解决python3读取Python2存储的pickle文件问题
2018/10/25 Python
Python 动态导入对象,importlib.import_module()的使用方法
2019/08/28 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
Python 解析简单的XML数据
2020/07/24 Python
阿迪达斯荷兰官方网站:adidas荷兰
2018/03/16 全球购物
Java基础面试题
2014/07/19 面试题
竞选班长自荐书范文
2014/03/09 职场文书
开工仪式主持词
2014/03/20 职场文书
计算机专业自荐信范文
2015/03/26 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书
html5 录制mp3音频支持采样率和比特率设置
2021/07/15 Javascript
mybatis 获取无数据的字段不显示的问题
2021/07/15 Java/Android
解决Mysql多行子查询的使用及空值问题
2022/01/22 MySQL
python字符串的一些常见实用操作
2022/04/06 Python