PHP 为老手开发人员提供了创建一些强大的 Web 解决方案的工具。而且,它还可以通过扩展添加额外的功能,从而使得创建解决方案更加容易。 PHP Extension and Application Repository (PEAR) 是一个帮助开发人员通过 API 或包(package)创建解决方案的框架。PEAR 还是一个分布式系统,该系统提供了自动安装这些包的一个方法。在这篇文章中,我将着重强调我认为其中最重要的一个包:DB 包。 DB 包是一个面向对象风格的抽象层,是对 PHP 的底层数据库连接和查询的抽象;与 PHP 4 和 PHP 5 兼容。DB 包目前支持以下扩展:dbase、fbsql、interbase、informix、msql、MSSQL、mysql、mysqli、oci8、odbc、pgsql、sqlite和 Sybase。 如果用过mysql_* 函数添加和查询MySQL数据库,那么你可以熟悉它所提供的不同的结果集(resultsets)。最常用的两个结果集要么是一个数组,在这个数组中每个域(field)是一个被索引的元素,要么是一个组合数组,其中每个字段是一个键/值(key/value)对。PEAR DB 提供这两个结果集,以及一个对象类型,这个对象类型创建一个动态对象,其中每个域作为对象的一个属性。在 Windows 平台下使用 ADO 连接的开发人员可能会很熟悉组合数组和对象类型。 在 ADO 中,结果集(或者记录集(Recordset))是作为一个可导航的行集合返回的。每一行是 Field 对象的一个集合。每个 Field 对象都有一个 Name 和一个 Value 属性(也就是字段的名称和那个所包含的数据)。下面在 PHP 中访问字段数据的一个例子: require_once("DB.php"); $dsn = "mysql://username:passWord@localhost/database"; $options = array( 'debug' => 2, 'portability' => DB_PORTABILITY_ALL, ); $db =& DB::connect($dsn, $options); $db->setFetchMode(DB_FETCHMODE_ASSOC); $res =& $db->query("SOME SQL STRING"); $row =& $res->fetchRow(); echo $row['field1']; 下面是如何在 VBScript 中使用 ADO 来实现: Dim conn, rs Set conn = Server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.Recordset") conn.ConnectionString = "some connection string" Set rs.ActiveConnection = conn rs.Open "SOME SQL STRING" Response.Writers.Fields("field1").Value 你可以看到这两种方法具有相似之处。首先,要建立一个到数据库的连接。然后,发出一个查询并接收一个结果集。像 ADO 一样,PEAR DB 包提供对所有与数据库服务通信相关的低层结果的抽象。 如果你是 PEAR 新手,那么你可能需要了解如何在你自己的系统上实现包。作为一个抽象系统,PEAR 可以使你很容易地实现包。我对承载 Web 站点的机器没有太多的控制权,只能限于通过 FTP 和一个由主机供应商所提供的“控制面板”来管理我自己的虚拟主机。 在安装 PEAR 之前,先将这段脚本复制到主机系统上的一个 PHP 文件中。我在主机默认 Web 目录中创建了一个叫做 install 的目录,并将这个脚本复制到了一个叫做 go-pear.php的文件中。然后将目录权限改成了允许访问安装脚本。之后我从浏览器中进入了go-pear.php installer 页面,由脚本完成剩下的事情。在这些都做完之后,我通过一个链接进入了 Web package installer,更改了配置选项(通过 configuration 链接进入),然后开始安装这些包,安装过程没有出现问题。 注:我是在一个支持 PHP 4.3.8 和MySQL 4.0.20 标准的主机站点上运行 installer 和 PHP 脚本的。服务器操作系统是 Linux 2.4.21-15.ELsmp,Web 服务器是 Apache 1.3.31。
[1] [2] 下一页
(出处:http://www.sheup.com)
上一页 [1] [2]