返回首页
当前位置: 主页 > 网络编程 > Php实例教程 >

Zend Framework 控制器 Controller 学习教程

时间:2012-04-13 20:31来源:知行网www.zhixing123.cn 编辑:麦田守望者

首先谈下Zend Framework是如何组织每个页面的。zf应用程序的每个页面被当作一个action,多个action 组成 一个controller 即控制器。比如http://zftest.local/news/view 这个网址(或者http://localhost/zftest/public/news/view),News是controller,而view是action。News 控制器可能同时还有list,archived等其他的action。ZF的MVC设计模式同时也支持将多个控制器通过模块modules 的形式组织起来,不过本教程比较简单还没有必要那么做。

Zend Framework 默认情况下会使用index作为默认的action,比如http://zftest.local/news/这个url,News控制器中的index action将会被执行。同样控制器也有默认的,http://zftest.local/这个网址将执行Index controller中的index view。

在这个Zend Framework教程开始,我们先不考虑比如用户登录等相对复杂的东西,在教程的结尾会有更多的介绍。因为本教程只涉及管理专辑的4个页面。因此我们可以将4个页面当作一个controller的4个action。比如:
页面 Controller Action
Home page Index index
AddNew album Index add
Edit album Index edit
Delete album Index delete

越复杂的网站将会有更多的controllers,或者将多个controller 通过modules 组织起来。
Zend Framework 创建 Controller

现在我们可以开始创建Controller了,在Zend Framework 中 Controller 必须是一个命名为{Controller name}Controller的类,其中控制器名称 {Controller name} 必须大写字母开头。这个类必须写在 application/controllers/{Controller name}Controller.php 文件中。而每一个 action 则是 controller 类中一个命名为{action name}Action 的public 函数,其中action名称 {action name} 全部字母必须小写。

所以我们的controller类应该是 application/controllers/IndexController.php 文件中命名为 IndexController 的类,从前面的文件结构我们看到这个文件Zend_Tool已经帮我们创建好了,打开这个文件发现IndexController 类也已经自动创建。

接下来我们使用zf命令行工具创建IndexController控制器的其他actions。打开命令行环境并cd到zftest目录,执行命令

zf create action add Index
zf create action edit Index
zf create action delete Index

这些命令会在IndexController 类中创建3个方法:addAction, editAction 和 deleteAction,同时也会创建相应的view 代码文件(后面会用到)。现在我们就算已经创建好要用到的4个actions 了。每一个action对应的url如下:

URL Action method
http://zftest.local/ IndexController::indexAction()
http://zftest.local/index/add IndexController::addAction()
http://zftest.local/index/edit IndexController::editAction()
http://zftest.local/index/delete IndexController::deleteAction()

访问上面的url会看到输出类似的文本:View script for controller Index and script/action name add。

如果出现404错误页面,那可能是你还没有配置Apache 的mod_rewrite 模块,或者没有正确地设置 AllowOverride all (Apache配置文件,.htaccess文件)。

顶一下
(3)
75%
踩一下
(1)
25%
标签(Tag):php php教程 php实例教程 php5 php源代码 php基础教程 php技巧 php6
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片