Zend Framework 控制器 Controller

前面Zend Framework 教程各章节,了解了ZF配置和大概的MVC模型之后,我们可以开始尝试编写应用程序代码了。

首先谈下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。比如:

页面ControllerAction
Home pageIndexindex
AddNew albumIndexadd
Edit albumIndexedit
Delete albumIndexdelete

越复杂的网站将会有更多的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文件)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值