PHP 框架,第 2 部分: 构建样例应用程序

对 PHP
早期版本的常见批评是不支持模型-视图-控制器样式的架构。现在,开发人员可以在许多
PHP 框架中做出选择。PHP 框架 系列将介绍三个广泛使用的 PHP 框架
Zend、symfony 和 CakePHP
通过在三个框架中构建和扩展样例应用程序来检验这三个框架的类似之处和不同之处。第
1 部分列出了本系列涵盖的内容并且配置先决条件。在第 2
部分中,您分别在三个框架中构建了样例应用程序。本文是第 3
部分,您将扩展应用程序并处理不符合一般规律的例外情况。

“PHP
框架”
系列将介绍三个广泛使用的 PHP 框架 —— Zend、symfony 和 CakePHP ——
通过在三个框架中构建和扩展样例应用程序,研究三个框架的类似之处和不同之处。第
1 部分将列出本系列涵盖的内容并且配置先决条件。在第 2
部分中,您将分别在三个框架中构建样例应用程序。

关于本系列

在本系列的 第 1
部分
中,我们已经设定了本系列的范围并满足了先决条件。现在,将分别在三个框架中构建样例应用程序。在接下来的几篇文章里,将扩展应用程序、了解不符合常规的例外情况、使用
Ajax、集成外部任务等等。

本系列专门针对那些想要开始使用框架、但又没有机会详细检验可用框架的 PHP
开发人员。在学完本系列后,您将了解选择这三个框架的原因、如何安装每个框架,并且充分运用将在三个框架中扩展的测试应用程序。听起来要学习的内容很多,但是不必担心。内容虽然多,但是我们已经把内容细分为多个便于管理的部分。

本文将指导您分别在三个框架中创建样例应用程序 Blahg。您将从头做起,了解在
Zend 框架、symfony 和 CakePHP 中开发简单应用程序的基础知识。

本系列的 第 1 部分
将列出本系列涵盖的内容,介绍将进行考察的框架以及说明如何安装,并查看将构建的第一个测试应用程序。

您应当已经完成了 第 1
部分,该部分介绍了如何安装这三个框架及使用三个框架必须满足的先决条件。如果您还未读过这一部分,则应立即阅读。

第 2 部分
将指导您在三个框架中构建样例应用程序,着重说明了它们的类似之处和不同之处。

假定您已经了解
PHP、应用程序设计以及如何在数据库中工作。您不需要具有框架使用经验,但是您应当已经准备好开始使用框架。

第 3
部分从扩展测试应用程序开始,然后处理不符合一般规律的例外情况。所有框架都能很好地完成份内的任务。每个项目中都需要完成一些框架设定工作之外的事情。本文就将介绍那些情况。

在 Zend 框架中构建 Blahg

第 4 部分主要介绍了 Ajax 支持。使用本机代码和第三方库检验了 Ajax 的使用
特别介绍了每个框架如何运行及接受具体的常用库。

首先,创建目录 /column/htdocs/zend 和
/column/protected/zend。这些目录将分别保存 Web 可访问的文件及 Web
不能访问的应用程序文件。在 /column/htdocs/zend 中,用以下命令行创建一个
.htaccess 文件:

第 5
部分将处理如何在框架外部工作。设定一项任务,并在每个框架中检验完成此项任务的过程。

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

<

在涉及目录结构时,每个框架都有自己特定的要求。对于 Zend
框架,需要创建目录
/column/protected/zend/controllers、/column/protected/zend/models 和
/column/protected/zend/views
来保存控制器、模型和视图。此外,需要创建目录
/column/protected/zend/views/scripts;并且对于每个控制器,需要创建一个目录来保存一些视图。例如,您知道
Blahg 将需要为 post 控制器提供一些视图,那么就需要创建目录
/column/protected/zend/views/scripts/post 来保存该视图。

已经准备好目录。该来构建模型了。

构建 Zend posts 表和模型

在第 1 部分中,创建了将要使用的 posts
表。如果您跳过了那段内容,请立即查看并且创建该表。该表的模型非常简单。它应当被命名为
Posts.php,并且应当在 /column/protected/zend/models/ 创建它。Posts.php
将扩展 Zend_Db_Table 类,并且您将使用的大多数方法均继承自该类。

发表评论

电子邮件地址不会被公开。 必填项已用*标注