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 相关文章推荐
不用数据库的多用户文件自由上传投票系统(3)
Oct 09 PHP
简单的过滤字符串中的HTML标记
Dec 25 PHP
六酷社区论坛HOME页清新格调免费版 下载
Mar 07 PHP
wiki-shan写的php在线加密的解密程序
Sep 07 PHP
使用eAccelerator加密PHP程序
Oct 03 PHP
php5.3 goto函数介绍和示例
Mar 21 PHP
php轻松实现文件上传功能
Mar 03 PHP
项目中应用Redis+Php的场景
May 22 PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 PHP
PHP PDOStatement::bindValue讲解
Jan 30 PHP
php中关于换行的实例写法
Sep 26 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
Dec 12 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中使用preg_replace函数匹配图片并加上链接的方法
2013/02/06 PHP
Laravel路由设定和子路由设定实例分析
2016/03/30 PHP
PHP Filter过滤器全面解析
2016/08/09 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
php-msf源码详解
2017/12/25 PHP
PHP+mysql防止SQL注入的方法小结
2019/04/27 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
2019/12/11 PHP
基于Jquery 解决Ajax请求的页面 浏览器后退前进功能,页面刷新功能实效问题
2010/12/11 Javascript
兼容IE、firefox以及chrome的js获取时间(getFullYear)
2014/07/04 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
jquery.mousewheel实现整屏翻屏效果
2015/08/30 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
2016/08/24 Javascript
Vue中v-for的数据分组实例
2018/03/07 Javascript
详解性能更优越的小程序图片懒加载方式
2018/07/18 Javascript
JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】
2018/08/09 Javascript
JQuery扩展对象方法操作示例
2018/08/21 jQuery
js针对图片加载失败的处理方法分析
2019/08/24 Javascript
Vue 一键清空表单的实现方法
2020/02/07 Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
2020/02/11 Javascript
基于JavaScript获取url参数2种方法
2020/04/17 Javascript
vue实现移动端H5数字键盘组件使用详解
2020/08/25 Javascript
Python中断言Assertion的一些改进方案
2016/10/27 Python
深入理解NumPy简明教程---数组1
2016/12/17 Python
关于Django显示时间你应该知道的一些问题
2017/12/25 Python
python pandas写入excel文件的方法示例
2019/06/25 Python
详解pandas删除缺失数据(pd.dropna()方法)
2019/06/25 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
python实现代码审查自动回复消息
2021/02/01 Python
bareMinerals官网:矿物质化妆品和护肤品
2018/02/04 全球购物
大学共青团员个人自我评价
2014/04/16 职场文书
法定代表人授权委托书范本
2014/10/07 职场文书
学生检讨书怎么写
2014/10/09 职场文书
诚实守信主题班会
2015/08/13 职场文书
2016天猫双十一广告语
2016/01/28 职场文书
详解MySQL InnoDB存储引擎的内存管理
2021/04/08 MySQL
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python