前端控制器是MVC组建中的苦力,因为它要实例化对象、触发事件、建立默认的行为等,它的主要目的是处理所有进入应用的请求。前端控制器的设计模式被应用于不同的MVC框架中,我们在Zend Framework中指代的前端控制器(Front Controller)实际上是指Zend_Controller_Front类,因为该类实现了前端控制器的模式;另一定注意的是,前端控制器设计是单例模式(Singleton),这也就意味着它实现了单例设计模式,也就是仅仅只能有一个实例化的前端控制器,即我们不能直接实例化Front Controller,而是拿取一个。
下面我们实现一个简单的controller跳转与分发。
在controllers文件夹里建立了IndexController.php,还有在view文件夹里建立了index.phtml 文件,在地址栏输入http://localhost/NowaMagicFrame1.0/可以浏览。
<?php require('CommonController.php'); class IndexController extends Zend_Controller_Action { function init() { //parent::init(); $this->registry = Zend_Registry::getInstance(); $this->view = $this->registry['view']; $this->view->baseUrl = $this->_request->getBaseUrl(); } public function indexAction() { //这里给变量赋值,在index.phtml模板里显示 $this->view->bodyTitle = 'NowaMagic Frame 1.0'; echo $this->view->render('index.phtml');//显示模版 } /** * 新闻 * */ public function newsAction(){ //这里给变量赋值,在news.phtml模板里显示 $this->view->bodyTitle = 'NowaMagic Frame 新闻'; echo $this->view->render('news.phtml');//显示模版 } } ?>
现在我想访问news页面,就可以通过IndexContriller来访问了,因为它里面有newsAction()这个方法可以实现转发。具体访问方式为http://localhost/NowaMagicFrame1.0/index/news/
但是这个URL看起来并不如想象中好,比较理想的URL看起来应该这样:http://localhost/NowaMagicFrame1.0/news/
怎么实现呢?我们需要建立一个NewsController.php
<?php class NewsController extends Zend_Controller_Action { function init() { $this->registry = Zend_Registry::getInstance(); $this->view = $this->registry['view']; $this->view->baseUrl = $this->_request->getBaseUrl(); } /** * 标签首页 * */ function indexAction(){ echo $this->view->render('news.phtml'); } } ?>
在这个文件中加个indexAction即可。

在PHP中使用ZendFramework:快速入门指南ZendFramework是一个开源的、基于PHP的Web应用程序框架,它是一个功能强大且易于扩展的框架。ZendFramework包含了许多好用的组件,这些组件可以帮助你构建高效的Web应用程序。本文将介绍如何在PHP中使用ZendFramework,帮助你快速入门。安装ZendFramewo

通过ZendFramework中间件实现高效的数据库查询引言在开发过程中,数据库查询是不可避免的一部分。一个高效的数据库查询可以大大提高系统的性能和用户体验。ZendFramework是一个使用广泛的PHP框架,拥有强大的数据库操作功能。本文将介绍如何通过ZendFramework中间件来实现高效的数据库查询,并提供相应的代码示例。一、了解ZendF

ZendFramework中间件:为应用程序添加OAuth和OpenID登录支持在当今的互联网应用程序中,用户认证是一个关键的功能。为了提供更好的用户体验和安全性,许多应用程序选择集成第三方登录服务,如OAuth和OpenID。在ZendFramework中,我们可以通过中间件来轻松地为应用程序添加OAuth和OpenID登录支持。首先,我们需要安装Ze

ZendFramework是一个基于PHP的开源框架,提供了许多功能强大的工具和组件,用于构建可扩展的Web应用程序。本文将介绍如何使用ZendFramework的中间件来为Web应用程序添加社交登录功能。中间件是一种在请求进入应用程序之前或之后执行的代码。它允许开发人员在处理请求的过程中进行定制和扩展。ZendFramework提供了一种灵活的方式来

ZendFramework2是一种流行的PHP编程框架,它提供了丰富的功能和模块,使PHP开发者们可以更加便捷地构建高质量的Web应用程序。本文将介绍一些常见的ZendFramework2操作,助您更好地使用这个框架。MVC模式在ZendFramework2中,Model-View-Controller(MVC)模式是最常见的架构。MVC模式是一

ZendFramework中间件:为应用程序添加支付宝和微信支付功能引言:随着移动支付的普及,支付宝和微信支付已经成为了许多应用程序中必不可少的支付方式。本文将介绍如何使用ZendFramework中间件来为应用程序添加支付宝和微信支付功能。通过本文的学习,您将了解到如何使用中间件来简化支付流程,并且可以运用到您的实际项目当中。一、准备工作在开始之前,您

当你决定开发ERP系统时,选择一个适合的框架是至关重要的。这里我们将比较CodeIgniter和ZendFramework这两个PHP框架,帮助你找到更适合你的ERP系统开发的框架。CodeIgniter和ZendFramework是颇受欢迎的PHP框架。它们都提供了许多功能,并具有扩展性和可维护性。然而,这两个框架在某些方面存在明显不同,更适合于某些应

PHP是一种广泛使用的编程语言,而ZendFramework2是一个流行的PHP框架。这个框架为PHP程序员提供了强大的工具来构建高质量、可维护和可扩展的应用程序。本文将介绍如何在PHP编程中使用ZendFramework2。什么是ZendFramework2?ZendFramework2是一个流行的PHP框架,用于构建Web应用程序和服务。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3漢化版
中文版,非常好用

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中