通过手工方法搭建Zend Framework的MVC框架结构。首先看一下zend framework mvc的目录结构
1. 在根目录下面创建 public ,并在 public 下创建 index.php引导文件。代码如下:
<?php set_include_path("../library".PATH_SEPARATOR.get_include_path()); //设定路径 require_once 'Zend/Application.php'; //调用zend类库 $application=new Zend_Application('project','../application/configs/application.ini'); $application->bootstrap()->run();
2. 在 public 目录下创建URL重写文件 .htaccess,代码如下:
RewriteEngine on RewriteRule!\.(js|ico|gif|jpg|png|css)$ index.php
将不能映射到磁盘上的文件都重定向至 index.php
3. Zend Framework 配置信息保存在扩展名为.ini或者xml文件下。在application 目录下创建 configs/application.ini 文件,代码如下:
[project] bootstrap.path="../application/Bootstrap.php" //启动文件路径 bootstrap.class="Bootstrap" //启动类名称 phpSettings.display_errors=1 //错误类型 phpSettings.date.timezone="Asia/Shanghai" //时间区域 resources.frontController.controllerDirectory="../application/controllers" //控制器路径
4. 步骤3使用application.ini指定了启动类Bootstrap,本步在application目录下编写启动类,代码如下:
<?php class Bootstrap extends Zend_Application_Bootstrap_Bootstrap{ public function __initAutoload(){ $moduleAutoloader=new Zend_Application_Module_Autoloader(array('namespace'=>'','basePath'=>'application')); return $moduleAutoloader; } }
5. 完成以上动作即可创建控制器。以下在applicatoin/controllers 目录下创建IndexController控制器:
<?php class indexController extends Zend_Controller_Action { public function indexAction(){ $this->view->assign("title",'Zend Framework 环境初始搭建'); $this->view->assign("body",'欢迎您搭建zend framework成功'); } }
6.创建控制器后,还需要创建视图,视图文件位置在views/scripts 文件夹下。scripts文件夹下需要创建与控制器相对应的目录,以下是创建 index/index.phtml 视图代码(其中目录index对应indexController控制器):
<html> <head> <meta charset="utf-8"/> <title><?php echo $this->escape($this->title); ?></title> </head> <body> <?php echo $this->escape($this->body); ?> </body> </html>
7. 打开浏览器,在地址栏中输入如下url进行访问:
http://127.0.0.1
http://127.0.0.1/index
http://127.0.0.1/index/index
以上示例是在IIS中设置网站根目录为public。zendframework默认是访问 indexController 的index 方法。