- 浏览: 75451 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
hay:
大骗子
zend studio教程 -
jiewuzhe02:
请问开源CMS digitaluscms 安装后不能登录后台 ...
zend frawework 开源代码列子 -
天梯梦:
怎么一个都打不开啊
zend studio教程 -
freedomstyle:
调试的时候,变量中文出现乱码
zend studio for eclipse 中文乱码的问题 -
freedomstyle:
是的,我也碰到这样的问题。
zend studio for eclipse 中文乱码的问题
最后,admin.php
模板可以用来批准新闻条目:
<html>
<head>
<title>News Admin</title>
</head>
<body>
<form action="/admin/approve" method="POST">
<?php foreach ($this->news as $entry) { ?>
<p>
<input type="checkbox" name="ids[]"
value="<?php echo $this->escape($entry['id']); ?>" />
<?php echo $this->escape($entry['title']); ?>
<?php echo $this->escape($entry['content']); ?>
</p>
<?php } ?>
<p>
Password:<br /><input type="password" name="password" />
</p>
<p><input type="submit" value="Approve" /></p>
</form>
</body>
</html>
提示:为了保持简单,这个表单用密码作为验证机制。
使用到模板的地方,你只需要把注释替换成几行代码。如IndexController.php
就变成下面这样:
<?php
class IndexController extends Zend_Controller_Action
{
public function indexAction()
{
/* List the news. */
$db = Zend::registry('db');
$view = Zend::registry('view');
$view->news = $db->getNews();
echo $view->render('index.php');
}
public function noRouteAction()
{
$this->_redirect('/');
}
}
?>
因为条理比较清楚,这个程序首页的整个业务逻辑只有四行代码。AddController.php
更复杂一点,它需要更多的代码:
<?php
class AddController extends Zend_Controller_Action
{
function indexAction()
{
$this->_redirect('/');
}
function commentAction()
{
/* Add a comment. */
$filterPost = new Zend_InputFilter($_POST);
$db = Zend::registry('db');
$name = $filterPost->getAlpha('name');
$comment = $filterPost->noTags('comment');
$newsId = $filterPost->getDigits('newsId');
$db->addComment($name, $comment, $newsId);
$this->_redirect("/view/$newsId");
}
function newsAction()
{
/* Add news. */
$filterPost = new Zend_InputFilter($_POST);
$db = Zend::registry('db');
$title = $filterPost->noTags('title');
$content = $filterPost->noTags('content');
$db->addNews($title, $content);
$this->_redirect('/');
}
function __call($action, $arguments)
{
$this->_redirect('/');
}
}
?>
因为用户在提交表单后被重定向,这个controller不需要视图。
在AdminController.php
,你要处理显示管理界面和批准新闻两个action:
<?php
class AdminController extends Zend_Controller_Action
{
function indexAction()
{
/* Display admin interface. */
$db = Zend::registry('db');
$view = Zend::registry('view');
$view->news = $db->getNews('NEW');
echo $view->render('admin.php');
}
function approveAction()
{
/* Approve news. */
$filterPost = new Zend_InputFilter($_POST);
$db = Zend::registry('db');
if ($filterPost->getRaw('password') == 'mypass') {
$db->approveNews($filterPost->getRaw('ids'));
$this->_redirect('/');
} else {
echo 'The password is incorrect.';
}
}
function __call($action, $arguments)
{
$this->_redirect('/');
}
}
?>
最后是ViewController.php
:
<?php
class ViewController extends Zend_Controller_Action
{
function indexAction()
{
$this->_redirect('/');
}
function __call($id, $arguments)
{
/* Display news and comments for $id. */
$id = Zend_Filter::getDigits($id);
$db = Zend::registry('db');
$view = Zend::registry('view');
$view->news = $db->getNews($id);
$view->comments = $db->getComments($id);
$view->id = $id;
echo $view->render('view.php');
}
}
?>
虽然很简单,但我们还是提供了一个功能较全的新闻和评论程序。最好的地方是由于有较好的设计,增加功能变得很简单。而且随着Zend Framework越来越成熟,只会变得更好。
更多信息
这个教程只是讨论了ZF表面的一些功能,但现在也有一些其它的资源可供参考。在http://framework.zend.com/manual/有手册可以查询,Rob Allen在http://akrabat.com/zend-framework/介绍了一些他使用Zend Framework的经验,而Richard Thomas也在http://www.cyberlot.net/zendframenotes提供了一些有用的笔记。如果你有自己的想法,可以访问Zend Framework的新论坛:http://www.phparch.com/discuss/index.php/f/289//。
结束语
要对预览版进行评价是很容易的事,我在写这个教程时也遇到很多困难。总的来说,我想Zend Framework显示了承诺,加入的每个人都是想继续完善它。
提示有什么评论、想法或问题,请访问Zend Framework的新论坛:http://www.phparch.com/discuss/index.php/f/289//。
关于作者—Chris Shiflett是Brain Bulb的负责人,而Brain Bulb是一家专业的PHP开发和安全方面的顾问公司。Chris的blog是http://shiflett.org。
发表评论
-
Zend Framework 教程大全(英文版)
2009-02-22 23:05 2532Zend Framework教程大全 07月 3rd, 200 ... -
Zend Framework 1.7.5发布增加了不少功能
2009-02-19 21:43 1405Welcome to Zend Framework 1.7 ... -
lucene的简单实例<一>
2009-02-17 15:15 1074说明一下,这一篇文章的用到的lucene,是用2.0版本的,主 ... -
走进全文搜索
2009-02-17 14:07 1006走进全文搜索 http://www.phpx.com/hap ... -
Jobeet 第17天:搜索引擎
2009-02-17 10:49 953写给每个朋友来访的朋友! Friday, December ... -
Zend Search Lucene实现全文搜索收藏
2009-02-17 10:24 1871Zend Search Lucene实现全文搜索收藏 新一篇 ... -
DBSight-Zend Framework中lucene的最佳替代方案
2009-02-17 10:22 2355DBSight-Zend Framework中lucene的最 ... -
理解ZEND_DB_PROFILE相关的知识
2009-02-14 00:46 978MYSQL的性能跟踪mysql> help profil ... -
zend framwork quickstart 列子SQLLITE介绍
2009-02-13 01:54 1215SQLLITE 1、SQLite简介SQLite第一个Al ... -
ZF HEADLINK相关的HTML link标签 rel 属性
2009-02-12 21:04 2262rel 属性 -- rel属性,描述了当前页面与href所指定 ... -
php 目录结构学习
2009-02-11 21:59 0d:/docroot/ index.phpapplica ... -
zend framework中的helper们
2009-02-10 15:21 22102008-11-06 00:28 写 ... -
使用zend Framework的lucene进行全文检索——中文分词
2009-02-09 16:05 1963[2007/06/16 21:52 | 分类: PHP高级技 ... -
Zend Framework实例教程
2009-02-09 09:17 2718作者:张佳(译) 来源:PHPEye开源社区 20 ... -
Zend Framework 留言本实战
2009-02-08 20:27 5817一、环境搭建和ZF安装 *[注] ... -
xampp下跑zendframe框架apache报pdo错
2009-02-08 16:47 2075今天在xampp下跑zendframe框架 链接数据库,遇到这 ... -
zend frawework 开源代码列子
2009-02-08 13:01 16371.zend frawework QUICK START ... -
国外主流PHP框架比较
2009-02-06 10:13 2303国外主流PHP框架比较 作者:heiyelure ...
相关推荐
### Zend Framework实例教程知识点解析 #### 一、简介与安装要求 **Zend Framework**是一款开源的PHP框架,设计用于帮助开发者构建稳定、高效且可扩展的Web应用。本教程聚焦于介绍Zend Framework的核心特性和如何...
1. **下载与解压**:首先,从官方网站或者提供的压缩包"ZendFramework-1.12.9.zip"下载并解压到服务器的适当位置。 2. **环境要求**:确保服务器环境满足PHP 5.2.5或更高版本。 3. **配置自动加载**:通过设置`...
Zend Framework 2(ZF2)是一个面向对象的、模块化且高性能的PHP开发框架,用于构建Web应用程序和服务。本示例“album”是ZF2官方提供的一个基础教程项目,旨在帮助开发者快速理解和学习如何在ZF2中进行实际的开发...
本教程将深入探讨如何利用Zend Framework进行开发,特别针对中国的PHP开发者,通过实例学习,使你对这个强大的框架有更深入的理解。 **1. MVC架构** 在Zend Framework中,MVC模式是核心设计思想。模型(Model)处理...
在本教程中,我们将深入了解Zend Framework框架中的Zend_Config组件,这是一款专门用于处理应用配置信息的工具。通过实例讲解,我们将会掌握Zend_Config组件的基本用法,并学习如何操作不同类型配置文件的方法。 ...
1. Introduction to Zend Framework 1.1. 概述 1.2. 安装 2. Zend_Acl 2.1. 简介 2.1.1. 关于资源(Resource) 2.1.2. 关于角色(Role) 2.1.3. 创建访问控制列表(ACL) 2.1.4. 注册角色(Role) 2.1.5. 定义访问...
本实例源码提供了对 Zend Framework 的基础认识和实际操作经验,包括入门级的项目搭建和数据库操作。 **1. Zend Framework 概述** Zend Framework 提供了一套完整的开发工具和库,支持各种Web服务,如RESTful API、...
总的来说,Zend Framework 1.11.10的官方中文手册不仅涵盖了框架的基本概念和组件,还提供了详细的API参考和实例教程,是开发者学习和应用Zend Framework的重要资源。通过深入学习和实践,开发者可以充分利用这个...
综上所述,“zend framework2 demo”是一个展示 Zend Framework2 基本功能和架构的实例,它包含了一个基本的MVC结构和必要的配置文件,适合初学者了解和学习该框架。通过深入了解和实践,开发者能够掌握如何在实际...
在本文中,我们将深入探讨 Zend Framework 中的 Zend_Application,这是一个至关重要的组件,它为框架应用程序提供了基础结构和启动流程。Zend_Application 作为程序的入口点,主要负责两件关键的事情:初始化PHP...
综上所述,通过本教程的介绍和实例分析,我们可以看到Zend Framework通过Zend_Db_Table类如何方便地实现复杂数据库表之间的关系管理。开发者需要掌握使用这些类和属性的技巧,以及在实现过程中需要注意的事项,才能...
在Zend Framework中,请求对象的封装由Zend_Controller_Request组件实现,该组件是整个MVC架构中用于处理客户端请求的核心部分。 首先,请求对象是一个简单的值对象,它在前端控制器、路由器、分发器和控制类之间...
这个教程聚焦于 `Zend Framework 1.9.0` 版本,该版本发布于2010年,虽然相对较老,但对于理解框架的基本原理和结构仍然非常有价值。 ** MVC 架构模式** 在 `Zend Framework` 中,Model-View-Controller(MVC)...
标题"ZendFramework 1 cache for Redis,Memcached"表明这是一个关于使用 Zend Framework 1 框架来实现缓存功能的教程,重点在于集成和使用 Redis 和 Memcached 这两种流行的数据缓存系统。Zend Framework 是一个广泛...
主要介绍了Zend Framework教程之分发器Zend_Controller_Dispatcher用法,结合实例形式详细分析了分发器Zend_Controller_Dispatcher的结构,功能,使用技巧与相关注意事项,需要的朋友可以参考下