一个好老好老的老程序员了。
全部博文(915)
分类: Python/Ruby
2011-08-12 11:11:49
下载最新的ZendFrameWork1.11.10最小版本,下载地址可以从官方下载,或者从下面的地址:
http://blog.chinaunix.net/space.php?uid=78707&do=blog&id=2169031
环境Apache:2.2.x;Php:5.2.x
Apache开启mod_rewrite功能
必须保证Apache已配置成支持.htaccess文件的模式。通常这可以通过在httpd.conf中将
AllowOverride None
改成
AllowOverride All
目录结构
虽然Zend Framework对目录结构没有特别要求,但其手册上还是推荐了一种常用的目录结构,本教程也使用这种目录结构。这种结构要求你能完全控制Apache的配置文件,以便可以将大多数的文件存放在web的根目录之外。
首先在web服务器的根目录下创建一个ZendApp目录,然后分别创建下面的子目录来存放网站的文件:
引导文件
Zend Framework控制器类 Zend_Controller支持网站使用“干净的URL”5。为此所有的请求都需要通过index.php进入。这就是通常所说的前端控制器(Front Controller)设计模式。它为我们的应用程序的所有页面提供了一个中心控制点并确保程序的运行环境已经正确设置。要完成这一切,都必须在ZendApp目录下创建一个.htaccess文件:
引导文件: index.php
需要的页面:
index,add,edit,delete
编写控制器
ZendApp/application/controllers/IndexController.php
编写视图
下面的内容,分别存四个文件:
ZendApp\application\views\scripts\index\add.phtml
ZendApp\application\views\scripts\index\index.phtml
ZendApp\application\views\scripts\index\edit.phtml
ZendApp\application\views\scripts\index\delete.phtmlZendApp\application\layouts\layout.phtml内容如下:
通过上面的搭建,基本上就能看出Zend Framework的MVC的简单应用了。
注意:
1 Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (zendapp)' in修改办法:
1、 修改httpd.conf,建立虚拟主机。(官方建议)
ServerName 127.0.0.1
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/ZendApp/public"
SetEnv APPLICATION_ENV "development"
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
2、 在index.php中加入:
$frontController->setParam('useDefaultControllerAlways', true);
3、 还有人说加入:
$frontController->setBaseUrl('homepath’')//homepath替换你自己的public所在的路径
1 Notice: Zend_Loader::Zend_Loader::registerAutoload is deprecated as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader instead in发生上述提示,修改下面两行为
include "Zend/Loader.php";
Zend_Loader::registerAutoload();
到:
require_once 'Zend/Loader/Autoloader.php';
Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);