首页 > 开发 > PHP > 正文

初识PEAR

2024-05-04 22:55:43
字体:
来源:转载
供稿:网友
仙人掌工作室  

一、什么是pear?为什么需要它?  

为了创建一个类似于perl cpan档案的工具,stig s. bakken创立了pear项目。pear的基本目标是发展成为php扩展和库代码的知识库,而这个项目最有雄心的目标则是试图定义一种标准,这种标准将帮助开发者编写可移植、可重用的代码。  

internet上已经有关于该项目的一些文档。例如,一些初始的资料已经可以在php正式手册中找到,更多的资料即将加入。  

在很大程度上,pear还是一项正在进行之中的工作。在未来的几个月内,pear安装程序和pear网站将有很大的发展。为了在下一个php版本中使用pear管理数量日益增长的c扩展,以及用pear安装程序作为用户把扩展下载和安装到php的前端工具,在php core developer邮件列表上已经有了大量的讨论。  

另外,我们还必须关注pear的php库代码。pear的php库代码常常被认为是当前设计最好、最整洁的库。pear::db是其中最受欢迎的一个包,这个包是pear项目创建的一个数据库抽象库。bakken正在努力,要把它主要的类和函数移植到c扩展上,使得这个包具有最好的性能。  

毫无疑问,这个新的项目必将成为未来php最重要的组成部分之一,它使得开发者能够方便地通过pear网站共享代码,使得用户能够方便地下载和安装扩展、php代码库。  

二、如何使用pear?  

正如前面提到的,pear正在不断地发展和改进。不过,现在已经有许多包可供使用。其中最受欢迎的一个包就是pear::db,它使得开发者能够编写出可同时用于多种不同数据库服务器的代码。例如,开发者能够编写出把数据库记录插入表的脚本,而且这个脚本适用于mysql、postgresql和oracle。  

也就是说,下面这个实例能够适用于所有不同类型的数据库服务器:  

<?php
// 引入合适的pear类
require_once("db.php");

$dsn = array(
'phptype'  => 'mysql',
'hostspec' => 'localhost',
'database' => 'test_db',
'username' => 'test_user',
'password' => 'test_password'
);
$dbh = db::connect($dsn);

$stmt = "select id, name from examples order by id";
$result = $dbh->simplequery($stmt, db_fetchmode_assoc);
if ($dbh->numrows($result) > 0) {
$data = (object) $dbh->fetchrow($result, db_fetchmode_assoc);
echo "id   => $data->id<br>/n";
echo "name => $data->name<br>/n";
}
?>


这是一个简单的例子,显示了使用象pear::db之类的抽象库编程究竟是什么样子。  

最近,php基本手册中加入了一章新的内容。但是,究竟是由该手册包含整个pear库的说明,还是为各个pear包编制独立的手册,这一切尚未明了。  

三、安装  

安装pear实际上很简单。由于pear库更新很快,所以下面我要介绍的是如何安装pear最新的cvs版本。  

注意:pear内部知识库系统将来可能要发生变化。就目前来说,pear包、库与php本身一起保存到同一cvs树,它可能导致在管理php主知识库和开发者、pear本身的知识库和开发者这两方面都出现问题。可以预料,在不远的将来,pear将分离成为独立的模块/树。这个模块已经存在,但大部分的包仍旧在老位置。  

如果你从来没有听说过cvs,请看看相关资料。cvs不是一种特别难用的技术,但熟悉它却需要一定的时间。  

假设你的机器上已经安装好了标准的cvs客户软件,接下来你应该:  


打开一个终端窗口(rxvt,xterm,或其他)。  
输入下面的命令:  

cvs -z3 -d :pserver:[email protected]:/repository login
password: [在这里输入“phpfi”作为密码]
cvs -z3 -d :pserver:[email protected]:/repository co php4
[这个命令将创建新的目录php4]
cd php4
cvs -z3 -d :pserver:[email protected]:/repository login
password: [这里输入密码zend]
cvs -z3 -d :pserver:[email protected]:/repository co zend tsrm
[该命令将在php4下面创建两个新目录,名字为“zend”和“tsrm”]
./buildcon


这就是全部的安装过程。运行buildconf将创建标准的configure脚本,这个脚本可以用来设置php选项。在默认安装中,pear将自动安装到/usr/local/lib/php下。但是,你也可以手工构造各个文件,方法是:以超级用户身份进入,转到php4/pear目录,执行make install-su。  

除此之外,你还应该把pear根目录加入到php.ini文件的include_path。默认的目录应该是/usr/local/lib/php,但如果你手工修改了选项,它可能在其他位置。  

四、获取帮助  

pear的包涵盖了从数据库抽象层到输出缓冲系统的方方面面,因此pear远远不止是一个简单的库——它是一种编写整洁、可移植代码的新标准。对于pear新手来说,最重要的事情之一就是阅读php手册中出版的编码标准。下面是几个获得pear帮助信息的地方:  


查找pear-dev或pear-general,寻求问题的答案。  
查阅随同pear源代码提供的单元测试脚本。这些脚本的位置在php cvs源代码所在目录之下。例如,在我这里,它是/home/jpm/php4/pear/db/tests/。  
通读tomas cox优秀的pear::db指南。  
到目前为止,pear的真面目尚未完全显露在世人眼前。但是,我希望本文已经成功地为你勾勒了它的大致面貌。  

好好享受吧!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表