通过手工方法搭建Zend Framework的MVC框架结构。首先看一下zend framework mvc的目录结构

1. 在根目录下面创建 public ,并在 public 下创建 index.php引导文件。代码如下:
|
1
2
3
4
5 |
<?phpset_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,代码如下:
|
1
2 |
RewriteEngine onRewriteRule!\.(js|ico|gif|jpg|png|css)$ index.php |
将不能映射到磁盘上的文件都重定向至 index.php
3. Zend Framework 配置信息保存在扩展名为.ini或者xml文件下。在application 目录下创建 configs/application.ini 文件,代码如下:
|
1
2
3
4
5
6 |
[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目录下编写启动类,代码如下:
|
1
2
3
4
5
6
7 |
<?phpclass 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控制器:
|
1
2
3
4
5
6
7 |
<?phpclass 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控制器):
|
1
2
3
4
5
6
7
8
9 |
<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 方法。
Zend Framework 框架搭建,布布扣,bubuko.com
原文:http://www.cnblogs.com/vicent/p/3596631.html