Skip to content

Category Archives: zend framework

【转帖】Zend Framework中Ajax的一个使用技巧

01-Apr-08

前言:其实这个技巧,不限于Zend Framework。我对于这个技巧,是来自Ruby On Rails的学习过程中,在Thomas的书中有提到这种ajax场景;而本文章主要讲述这个技巧在Zend Framework中如何实现。
几点说明:
1、本文章的Js部分,采用jQuery;我比较中意这个。但是本文章侧重讲的是一个思路;而不是js的写法技巧。
2、阅读本文章前,最好对Zend Framework了解;并了解Zend_Layout的概念。
一个场景的处理思考
先从一个场景来入手。假设你有一个请求时http://project-name/product/list,来显示商品列表。而,普通情况下,你的这个
请求来自左侧菜单栏;请求方式是一个ajax请求;即不更新菜单栏以及header
footer,只更新在<divid=’mainbody’></div>的内容。
这是一个常见的ajax应用场景。
一般情况下,是没什么问题。但是有一天一个聪明的用户知道这个url(知道方法很多),而直接在浏览器上输入http://project-name/product/list,那么结果呢?
你显示了一块不带有header footer 的html代码,你的界面里没有定义css,因此显示很难看;没有js,可能很多点击无效无法工作。
用户不懂这些,他只知道出现error。
这个情况,你遇到过吗?我的应用中,其实就遇到过;之前的解决办法没有,只是希望用户别这么聪明。
好了,问题明白了;解决之前,我们先一起看看Zend_Layout的使用方法。
更多的Zend_Layout的学习,可以先阅读 http://akrabat.com/2007/12/11/simple-zend_layout-example/的内容 以及官方文档 http://framework.zend.com/manual/en/zend.layout.html
首先建立一个普通的Zend_Layout使用例。

复制PHP内容到剪贴板
PHP代码:
private function _buildMVCLayout(){
//增加layout
//$this->_config 是一个Zend_Config_Xml类;内容来自一个配置文件。
if(!empty($this->_config->view->layout->enable)){
$_viewPath = trim($this->_config->view->layout->path);
$_viewPath = empty($_viewPath)?’layout’:$_viewPath;
Zend_Layout::startMvc(array(‘layoutPath’=>APP_DIR.DIRECTORY_SEPARATOR.$_viewPath));
}
}

那么,在layout的目录下,建立一个lauout.phtml
复制PHP内容到剪贴板
PHP代码:
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” lang=”en”>
<head>
<meta http-equiv=”content-type” c />
<meta name=”description” c />
<meta name=”keywords” c />
<link rel=”icon” type=”image/x-icon” href=”<?php echo $this->baseUrl; ?>/public/images/layout/favicon.ico” />
<title><?php echo empty ( $this->title ) ? $this->translate ( ‘meta.title.default’ ) : $this->escape [...]

Zend Framework MVC流程图[转帖]

24-Mar-08

这个图是ZF文档中的,7.2节的图。由于中文文档还没有翻译,所以先搞个图看看,这个图画的非常好,非常明朗。
我已经用不同的颜色标注了不同的部分。主要流程是绿色块,黄色部分是钩子,这种蓝色代表Request和Response对象,紫红色部分判断是否
dispath完毕。基本方向就是:Request -> Router -> Dispatch -> Send Response
Related items

[转]详细介绍php Zend Framework中的render使用方法
今日到南京上网,发现偶尔打开的网页出现如下代码
zend framework错误或者异常信息捕捉
jQuery AJAX in Zend Framework
Zend Framework V1.5 中的新特性

http://www.pkphp.com/(1)zend 流程(3)zend framework MVC(22)zend framework mvc 代码(1)优化 zend framework mvc(1)php mvc framework(4)mvc 图(6)php zend mvc(3)zend 流程图(3)zend framework流程图(1)mvc 流程图(2)Zend Framework 流程图(8)php 流程图(11)zend framework流程(8)framework mvc(1)

关于zf占位符的研究

20-Mar-08

区域助手(Partial Helper)
Partial 视图助手被用来在它自己的变量范围内解析特定的模板。主要用法是(解析)可重用的模板片段,你不需要操心变量名的冲突。另外,它们允许你从特定的模块指定 partial 视图脚本。
Partial 的兄弟 PartialLoop 视图助手允许传递可迭代数据并为每个条目解析一部分。
例 37.2. Partials 的基本用法
partials 的基本用法是在它自己的视图范围内解析一个模板的片段。

<?php // partial.phtml ?>
<ul>
<li>From: <?= $this->escape($this->from) >?</li>
<li>Subject: <?= $this->escape($this->subject) >?</li>
</ul>

你可以这样从视图脚本里调用它:

<?= $this->partial(‘partial.phtml’, array(
‘from’ => ‘Team Framework’,
’subject’ => ‘view partials’)); ?>

解析结果如下:

<ul>
<li>From: Team Framework</li>
<li>Subject: view partials</li>
</ul>

其他的可以参考:占位符

Related items

[转]详细介绍php Zend Framework中的render使用方法
今日到南京上网,发现偶尔打开的网页出现如下代码
zend framework错误或者异常信息捕捉
jQuery AJAX in Zend Framework
Zend Framework V1.5 中的新特性

php占位符(1)