ZF框架Controllers自定义Action_PHP教程
前端控制器是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即可。

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

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

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

在PHP中使用ZendFramework:快速入門指南ZendFramework是一個開源的、基於PHP的Web應用程式框架,它是一個強大且易於擴展的框架。 ZendFramework包含了許多好用的元件,這些元件可以幫助你建立高效能的網路應用程式。本文將介紹如何在PHP中使用ZendFramework,幫助你快速入門。安裝ZendFramewo

透過ZendFramework中間件實現高效率的資料庫查詢引言在開發過程中,資料庫查詢是不可避免的一部分。一個高效率的資料庫查詢可以大大提高系統的效能和使用者體驗。 ZendFramework是一個使用廣泛的PHP框架,具有強大的資料庫操作功能。本文將介紹如何透過ZendFramework中間件來實現高效的資料庫查詢,並提供對應的程式碼範例。一、了解ZendF

ZendFramework是一個功能強大的開發框架,可以幫助開發人員快速建立高效能、可擴展的PHP應用程式。其中,中間件是ZendFramework中的重要概念,它可以幫助我們實現全文搜尋和分頁功能。本文將介紹如何在ZendFramework中使用中間件來實作這兩個功能,並提供程式碼範例。一、全文搜尋功能全文搜尋是現代應用程式中常見的功能之一。

ZendFramework中間件:為應用程式新增OAuth和OpenID登入支援在現今的網際網路應用程式中,使用者認證是一個關鍵的功能。為了提供更好的使用者體驗和安全性,許多應用程式選擇整合第三方登入服務,如OAuth和OpenID。在ZendFramework中,我們可以透過中間件來輕鬆為應用程式新增OAuth和OpenID登入支援。首先,我們要安裝Ze

ZendFramework中間件:提供郵件通知和訊息推播的功能引言:隨著網路的發展和智慧型手機的普及,郵件通知和訊息推播已經成為了現代軟體開發中常用的功能之一。在ZendFramework中,我們可以使用中間件來實作郵件通知和訊息推播的功能。本文將介紹如何利用ZendFramework中間件來實作郵件通知和訊息推播,並提供對應的程式碼範例。一、準備工作在

ZendFramework是一個基於PHP的開源框架,提供了許多功能強大的工具和元件,用於建立可擴展的網路應用程式。本文將介紹如何使用ZendFramework的中間件來為Web應用程式新增社群登入功能。中間件是一種在請求進入應用程式之前或之後執行的程式碼。它允許開發人員在處理請求的過程中進行自訂和擴展。 ZendFramework提供了一個靈活的方式來

ZendFramework中間件:為應用程式添加支付寶和微信支付功能引言:隨著行動支付的普及,支付寶和微信支付已經成為了許多應用程式中必不可少的支付方式。本文將介紹如何使用ZendFramework中間件來為應用程式新增支付寶和微信支付功能。透過本文的學習,您將了解如何使用中間件來簡化支付流程,並且可以運用到您的實際專案當中。一、準備工作在開始前,您

當你決定要發展ERP系統時,選擇一個適合的框架是至關重要的。這裡我們將比較CodeIgniter和ZendFramework這兩個PHP框架,幫助你找到更適合你的ERP系統所開發的框架。 CodeIgniter和ZendFramework是頗受歡迎的PHP框架。它們都提供了許多功能,並具有擴展性和可維護性。然而,這兩個框架在某些方面存在明顯不同,更適合於某些應
