首页论坛

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

最新评论
更多评论...