Zend Framework 入门(1)—快速上手
1. 安装
从 Zend Framework 的网页上下载最新版本。解压后,把整个目录拷贝到一个理想的地方,比如:/php/library/Zend。
打开 php.ini 文件,确认包含 Zend 目录的路径在 include_path 里定义了。以上面的配置为例,php.ini 中应有类似下面的条目:
include_path = ".:/php/library"
注意:Windows 下的写法略有不同,应该类似于 include_path = ".;C:\php\library"
初始的安装就这么简单。Zend Framework 的一些组件会用到 php 的一些附加模块。具体的要求请参考这里。
2. 项目的目录结构
如果你的项目不包含多个模块,可以用下面的目录结构:
application/controllers/IndexController.phpmodels/views/scripts/index/index.phtmlhelpers/
filters/html/.htaccessindex.php
如果你的项目要包含多个模块(比如:博客,社区,等等),那么建议使用模块化的目录结构。
3. 网页的根目录
网页的根目录应指向上述目录结构中的 html 文件夹。
4. 重写规则
编辑 html/.htaccess 文件,加入下面两行:
RewriteEngine onRewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php注意:上述是针对 apache 的配置。如果是其他的服务器,请参考这里。
5. 引导程序
编辑 html/index.php 文件,敲入下面代码:
<?phprequire_once'Zend/Controller/Front.php';$rootPath = dirname(dirname(__FILE__));Zend_Controller_Front::run($rootPath .'/application/controllers');上面代码的作用是实例化前端控制器(Front Controller)并运行它。
6. 默认的动作控制器(Action Controller)
Zend Framework 的默认路由规则是 域名/控制器名/动作(方法)名。例如:
会被解析到名为 User 的控制器以及该控制器中定义的 show 方法。如果该方法没有定义,则默认转到 index 方法。
注意:在代码中,控制器名的后面要加上 Controller,而动作名的后面要加上 Action。
编辑 application/controllers/IndexController.php 文件,输入:
<?php
/** Zend_Controller_Action */
require_once'Zend/Controller/Action.php';
classIndexControllerextendsZend_Controller_Action
{
public functionindexAction()
{
}
}
7. 视图(页面)脚本
编辑 application/views/scripts/index/index.phtml,输入:
<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"""><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>My first Zend Framework App</title></head><body><h1>Hello, World!</h1></body></html>8. 错误控制器
默认情况下,Zend Framework 的错误处理插件是被注册的。它需要一个错误控制器来处理错误。缺省的错误控制处理被假定为 ErrorController 以及其中定义的 errorAction。
编辑 application/controllers/ErrorController.php,输入:
<?php
/** Zend_Controller_Action */
require_once'Zend/Controller/Action.php';
classErrorControllerextendsZend_Controller_Action
{
public functionerrorAction()
{
}
}
下面是对应的视图脚本。编辑 application/views/scripts/error/error.phtml,输入:
<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"""><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Error</title></head><body><h1>An error occurred</h1><p>An error occurred; please try again later.</p></body></html>9. 运行
好,现在运行网站。在浏览器中键入下面三个地址,得到的结果应该是一样的——就是最最常见的“Hello, World!“。
域名
域名/index
域名/index/index
如果是这样,那么恭喜你!