前端控制器是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/
cqcms通用企业建站介绍 苍穹企业网站管理系统(CQCMS)软件是国产PHP网站内容管理系统:CQcms内容管理系统 ,它将成为您轻松建站的利器。模板全部使用文件形式保存,对用户设计模板、网站升级转移均提供很大的便利,健壮的模板标签为站长DIY自己的网站提供了强有力的支持。MVC框架,自定义标签,模板文件修改非常方便,PC+WAP响应式布局,一个域名,自动识别终端,一个后台同时管理PC和wap。
0
但是这个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即可。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号