仙人掌工作室
一、什么是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。
也就是说,下面这个实例能够适用于所有不同类型的数据库服务器:
// 引入合适的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
\n";
echo "name => $data->name
\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:cvsread@cvs.php.net:/repository login
Password: [在这里输入“phpfi”作为密码]
cvs -z3 -d :pserver:cvsread@cvs.php.net:/repository co php4
[这个命令将创建新的目录php4]
cd php4
cvs -z3 -d :pserver:cvsread@cvs.zend.com:/repository login
Password: [这里输入密码zend]
cvs -z3 -d :pserver:cvsread@cvs.zend.com:/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的真面目尚未完全显露在世人眼前。但是,我希望本文已经成功地为你勾勒了它的大致面貌。
好好享受吧!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

禅工作室 13.0.1
功能强大的PHP集成开发环境

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3汉化版
中文版,非常好用