Zend_Controller:MVC控制器(一)入门
投稿人:简单
Zend_Controller入门
Zend_Controller是Zend Framework框架的MVC体系核心部分,MVC(Model-view-Controller)是一个用于分离应用逻辑和表现逻辑的设计模式。
通过Zend_Controller主键,所有URL请求都被分发到不同的控制器进行处理。
- 把所有URL请求重定向到index.php
通过Apache的rewrite功能,可以把所有url请求都重新定向到index.php进行处理。
在网站根目录中添加.htaccess文件,并写入如下代码:以上代码将把所有url请求(括号中的文件类型除外),重定向到index.php。比如:http://www.cn09.com/articles/125-abc.html,指向的并不是一个HTML文件地址,而是index.php文件。- RwriteEngine on
- RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
要注意的是,windows下是不可以直接创建没有前缀只有后缀名的文件的,要在dos模式下或是直接在linux环境中新建这个文件;另外,必须在apache设置中加载rewrite模块,打开httpd.conf,找到mod_rewrite.so所在行,把前面的注释标记#去掉 - RwriteEngine on
- 创建入口程序
url请求被指向到index.php之后,我们就可以在index.php中加载zend framewrok了,为了演示zend_controller组件的用法,我们可以在index.php中输入如下代码:- <?php
- require_once 'Zend/Controller/Front.php';//加载前端控制器
- Zend_Controller_Front::run('../application/controllers');//运行前端控制器的参数是controllers的文件夹位置
- <?php
- 创建默认控制器
现在,可以在controllers文件夹中新建controll文件了,新建一个文件IndexController.php,输入如下代码:注意文件名是indexController.php,也就是说,控制器的名称是index,函数名是indexAction,也就是说,动作名称也是index。- <?php
- require_once 'Zend/Controller/Action.php';//所有控制器都由此派生
- class IndexController extends Zend_Controller_Action
- {
- public function indexAction()
- {
- }
- }
- <?php
- 创建视图文件
视图文件就是程序的HTML部分。也就是其它开源程序中常见的“模板”。根据刚才建立的控制器和动作,我们指定view视图路径为application/views/scripts/index/index.phtml,新建这个文件,输入如下代码:现在,直接输入网址http://www.cn09.com/index/index,就可以看到该页面了(请用你自己的网址代替www.cn09.com),其中,由于index是系统默认值,可以省略不写,所以可以直接输入网址http://www.cn09.com访问该页面。- <html>
- <head>
- <title>我的第一个Zend Framework应用</title>
- </head>
- <body>
- <h1>世界你好</h1>
- </body>
- </html>
- <html>