Chinaunix首页 | 论坛 | 博客
  • 博客访问: 283771
  • 博文数量: 179
  • 博客积分: 2995
  • 博客等级: 少校
  • 技术积分: 2100
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-13 10:21
文章分类

全部博文(179)

文章存档

2011年(1)

2010年(28)

2009年(150)

我的朋友

分类:

2010-01-07 17:16:29


Zend Framework 入门(1)——快速上手

这个系列是我的学习笔记。主要内容来自 Zend Framework 的[程序员参考手册],结合了自己的学习和开发过程。

  1. 安装

  从 Zend Framework 的网页上下载最新版本。解压后,把整个目录拷贝到一个理想的地方,比如:/php/library/Zend。

  打开 php.ini 文件,确认包含 Zend 目录的路径在 include_path 里定义了。以上面的配置为例,php.ini 中应有类似下面的条目:

  include_path = ".:/php/library"

  注意:Windows 下的写法略有不同,应该类似于 include_path = ".;C:phplibrary"

  初始的安装就这么简单。Zend Framework 的一些组件会用到 php 的一些附加模块。具体的要求请参考这里。

  2. 项目的目录结构

  如果你的项目不包含多个模块,可以用下面的目录结构:

application/
  controllers/
    IndexController.php
  models/
  views/
    scripts/
      index/
        index.phtml
    helpers/
    filters/
html/
  .htaccess
  index.php

  

  如果你的项目要包含多个模块(比如:博客,社区,等等),那么建议使用模块化的目录结构。

  3. 网页的根目录

  网页的根目录应指向上述目录结构中的 html 文件夹。

  4. 重写规则

  编辑 html/.htaccess 文件,加入下面两行:

RewriteEngine on
RewriteRule !.(js|ico|gif|jpg|png|css)$ index.php

  

 注意:上述是针对 apache 的配置。如果是其他的服务器,请参考这里。

  5. 引导程序

编辑 html/index.php 文件,敲入下面代码:

require_once 'Zend/Controller/Front.php';
$rootPath = dirname(dirname(__FILE__));
Zend_Controller_Front::run($rootPath . '/application/controllers');

  

  上面代码的作用是实例化前端控制器(Front Controller)并运行它。

  6. 默认的动作控制器(Action Controller)

 Zend Framework 的默认路由规则是 http://域名/控制器名/动作(方法)名。例如:

   会被解析到名为 User 的控制器以及该控制器中定义的 show 方法。如果该方法没有定义,则默认转到 index 方法。

  注意:在代码中,控制器名的后面要加上 Controller,而动作名的后面要加上 Action。

  编辑 application/controllers/IndexController.php 文件,输入:

/** Zend_Controller_Action */
require_once 'Zend/Controller/Action.php';
class IndexController extends Zend_Controller_Action
{
  public function indexAction()
  {
  }
}

  

  7. 视图(页面)脚本

  编辑 application/views/scripts/index/index.phtml,输入:

PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"">


 
 My first Zend Framework App


  

Hello, World!



  8. 错误控制器

默认情况下,Zend Framework 的错误处理插件是被注册的。它需要一个错误控制器来处理错误。缺省的错误控制处理被假定为 ErrorController 以及其中定义的 errorAction。

  编辑 application/controllers/ErrorController.php,输入:

/** Zend_Controller_Action */
require_once 'Zend/Controller/Action.php';
class ErrorController extends Zend_Controller_Action
{
  public function errorAction()
  {
  }
}

  

  下面是对应的视图脚本。编辑 application/views/scripts/error/error.phtml,输入:

PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"">


 
 Error


  

An error occurred


  

An error occurred; please try again later.



  9. 运行

  好,现在运行网站。在浏览器中键入下面三个地址,得到的结果应该是一样的——就是最最常见的“Hello, World!“。

  http://域名

  http://域名/index

  http://域名/index/index

  如果是这样,那么恭喜你!



阅读(617) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~