<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >PHP 相关工程的历史</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="PHP 手册" HREF="index.html"><LINK REL="UP" TITLE="PHP 及其相关工程的历史" HREF="history.html"><LINK REL="PREVIOUS" TITLE="PHP 及其相关工程的历史" HREF="history.html"><LINK REL="NEXT" TITLE="PHP 相关书籍" HREF="history.php.books.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></HEAD ><BODY CLASS="sect1" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >PHP 手册</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="history.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >附录 A. PHP 及其相关工程的历史</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="history.php.books.html" ACCESSKEY="N" >下一页</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="sect1" ><H1 CLASS="sect1" ><A NAME="history.php.related" >PHP 相关工程的历史</A ></H1 ><DIV CLASS="sect2" ><H2 CLASS="sect2" ><A NAME="history.pear" >PEAR</A ></H2 ><P > <A HREF="http://pear.php.net/" TARGET="_top" >PEAR</A >,PHP 扩展与应用资源库(PHP Extension and Application Repository,原为 PHP Extension and Add-on Repository)是 PHP 程序的基础类,并可能在将来增强为在开发人员间分发 PHP 和 C 语言编写的 PHP 扩展的关键方法。 </P ><P > PEAR 在 2000 年 1 月于 Tel Aviv 举行的 PHP 开发者会议(PDM)中诞生。这个工程由 Stig S. Bakken 创建。现在,他正专注于他的第一个小女儿,Malin Bakken。 </P ><P > 2000 年早些时候,PEAR 已经成长为一个巨大的,有意义的工程。大量的开发人员在为实现普通的、可重用的、功能强大的代码而努力工作着。这给整个 PHP 团体都带来极大的益处。今天 PEAR 包含了大量的基础类,包括数据库访问、内容缓存、数学计算、电子商务等等。 </P ><P > 有关 PEAR 的更多信息见其<A HREF="http://pear.php.net/manual/" TARGET="_top" >手册</A >。 </P ></DIV ><DIV CLASS="sect2" ><H2 CLASS="sect2" ><A NAME="history.phpqa" >PHP 质量保证体系(QA)</A ></H2 ><P > <A HREF="http://qa.php.net/" TARGET="_top" >PHP 质量保证体系</A >于2000年夏设立,因为用户批评 PHP 在发布前没有进行足够的针对产品环境的测试。质量保证小组由精通 PHP 基础代码的核心人员组成。这些开发人员将精力花费在本地化和修复 PHP 的 bug 上。除此之外,其他小组成员也在各种不同的平台上对这些修复进行测试并提供反馈信息。 </P ></DIV ><DIV CLASS="sect2" ><H2 CLASS="sect2" ><A NAME="history.phpgtk" >PHP-GTK</A ></H2 ><P > <A HREF="http://gtk.php.net/" TARGET="_top" >PHP-GTK</A > 是编写客户端图形用户界面(GUI)程序的 PHP 解决方案。Andrei Zmievski 回忆了 PHP-GTK 计划和创建的过程: </P ><A NAME="AEN289275" ></A ><BLOCKQUOTE CLASS="BLOCKQUOTE" ><P > “我总是对 GUI 编程有着浓厚的兴趣。我发现 Gtk+ 是一个非常好的工具包,除了一点――它使用的 C 语言很令人乏味。目睹了 PyGtk 和 GTK-Perl 的实现,我决定尝试 PHP 是否也能够被做成 Gtk+ 的接口。2000 年 8 月,我有了更多的业余时间,于是我开始试验。我参考了 PyGtk 的实现方法,因为它有着相当完全的实现和漂亮的面向对象的接口。James Henstridge,PyG 的作者,在最初的筹备阶段提供了极大的帮助。 </P ><P > “手工写 Gtk+ 函数全部的接口几乎是不可能的事情,所以我把重点放在了代码生成上,就像 PyGtk 做的一样。代码生成器是一个PHP 程序,它可以读取包含 Gtk+ 类、常量和方法信息的一系列的 .defs 文件并生成与 PHP 相接口的 C 代码。无法自动生成的部分可以提交到 .overrides 文件。 </P ><P > “代码生成器和基础结构的工作花了我一定的时间,因为我在 2000 年秋天这段时间里只能花很少的时间在 PHP-GTK 上。在我把 PHP-GTK 给 Frank Kromann 演示过后,他产生了浓厚的兴趣,并开始帮助我完成代码生成器和 Win32 的实现。当我们写了第一个 Hello World 程序并设法使之工作之时,我们的喜悦之情溢于言表。两个多月后,这个工程初见成效,并于 2001 年 3 月 1 日发布了内部版本。这个故事迅速的打击了 SlashDot。 </P ><P > “感到 PHP-GTK 前景广阔,我便为它专门设置了邮件列表和 CVS 知识库。同时,gtk.php.net 网站也在 Colin Viebrock 的帮助下建立起来。文档的工作也由 James Moore 承担起来。 </P ><P > “PHP-GTK 发布之后,它愈加流行。我们有自己的文档小组,手册持续更新。人们开始为 PHP-GTK 编写扩展。越来越多的程序已经开始使用它了。” </P ></BLOCKQUOTE ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="history.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >起始页</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="history.php.books.html" ACCESSKEY="N" >下一页</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >PHP 及其相关工程的历史</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="history.html" ACCESSKEY="U" >上一级</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >PHP 相关书籍</TD ></TR ></TABLE ></DIV ></BODY ></HTML >