Zend Framework-Zend_Controller入门
来源:互联网 发布:淘宝网店什么最好卖 编辑:程序博客网 时间:2024/04/20 15:12
2.2.1. 简介
Zend_Controller体系具有可扩展性,可以通过继承已有的类或者自己写个新的类来实现Zend_Controller_Router_Interface或Zend_Controller_Dispatcher_Interface接口。
2.2.2. 服务器设置
Zend_Controller 支持比较漂亮的URI(没有乱七八糟的查询参数),这需要你的服务器支持URI重写功能。如果你使用Apache服务器,可以通过设置mod_rewrite模块来实现。
第一步,首先安装Apache并启用mod_rewrite模块。然后把两个文件放到根目录下:.htaccess和index.php。 .htaccess文件用来让服务器读取,其中必须包含一个mod_rewrite的重写规则,使所有请求都被重定向到index.php。下面是个例 子:
RewriteEngine on
RewriteRule !/.(js|ico|gif|jpg|png|css)___FCKpd___0nbsp;index.php
在上例中,所有请求(除了对那几个扩展名的文件的请求)都被转向到index.php。在开发中这是很有用的,当然在程序正式运行时重写规则应该写成把某些目录排除而不是文件。
2.2.3. Bootstrap文件
(Bootstrap相当于一小段引导程序,如果你用过Struts或Phrame,可能会有一点了解--Haohappy注)
在设置好 .htaccess文件之后,建立一个新的文件index.php,这是一个入口文件(所有对该站点的请求都会由Apache导向到index.php),目的在于启动Zend_Controller_Front。Zend_Controller_Front最好要放在你的站点根目录以外。
出处安全方面的考虑,我们强烈建议在所有可能通过服务器访问的目录下(站点根目录的子目录)不放置任何PHP文件。有时候这可能做不到,例如虚拟主机。
建立bootstrap文件:index.php 在根目录中来启动Zend_Controller_Front:
<?php
require_once 'Zend/Controller/Front.php';
Zend_Controller_Front::run('/path/to/your/controllers')
?>
看下面的章节来理解 /path/to/your/controllers。就像在README.txt中所介绍的,Zend Framework的library 目录必须在include_path中。如果没有在php.ini中设置,你可以通过set_include_path()函数来设置(放在 require_once()之前)。
2.2.4. 目录结构
建议使用 Zend Framework的站点采用相同的目录结构。这样可以让其它熟悉Zend Framework的人更好地理解你的程序。
建议的目录结构包括library目录(Zend自带的或你自己的)和application目录。
/application
/models
/views
/controllers
/document_root
/images
/styles
.htaccess
index.php
/library
/Zend
2.2.5. IndexController
每个站点都必须定义一个名为IndexController的控制器。没指定控制器时默认采用这个控制器。如:
http://framework.zend.com/
The IndexController
class must be stored in a file named IndexController.php
, and this must be stored in the controllers directory. The IndexController
must subclass Zend_Controller_Action
. Here is a sample IndexController
:
IndexController类必须保存在命名为 IndexController.php
的文件中,该文件必须放在controller目录下,IndexController类必须继承Zend_Controller_Action类,如下是一个IndexController
的例子
<?php
require_once 'Zend/Controller/Action.php';
class IndexController extends Zend_Controller_Action
{
public function indexAction()
{
echo 'Hello from IndexController';
}
public function noRouteAction()
{
$this->_redirect('/');
}
}
?>
- Zend Framework-Zend_Controller入门
- Zend Framework教程-Zend_Controller
- Zend Framework-Zend_Controller工作原理简介
- Zend Framework-Zend_Controller子类化(继承)
- Zend Framework—Zend_Controller工作原理简介
- Zend Framework-Zend_Controller工作原理简介
- Zend Framework之Zend_Controller和引导
- 走进Zend Framework框架编程(四):Zend_Controller和引导文件
- 走进Zend Framework框架编程(五):Zend_Controller进阶
- 走进Zend Framework框架编程(四):Zend_Controller和引导文件
- 走进Zend Framework框架编程(五):Zend_Controller进阶
- 走进Zend Framework框架编程(五):Zend_Controller进阶 【转】
- 走进Zend Framework框架编程(四):Zend_Controller和引导文件
- Zend Framework入门指引
- Zend Framework入门指引
- Zend Framework入门
- Zend Framework入门教材
- 菜鸟入门zend framework;
- flash loading
- Flash Loading技术
- C# 读写 Oracle BLOB 数据
- (多图)齐达内的愤怒!!!
- 如何用js实现jsp页面上多个html:multibox全选
- Zend Framework-Zend_Controller入门
- PKCS系列标准
- 三菱FX系列PLC编程口通信协议总览
- Java开发环境
- Eclipse插件安装
- 爱你但无法拥有,我也许该放弃
- 我的小窝今天开张了
- 在Webwork中使用ww:action实现页面控制器风格Action复用
- WebWork 2.2 Filter,Url Rewrite,Servlet规范