快速业务通道

PEAR简介:用PEAR来写你的下一个php程序

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-25
文件中加入cvs的id标记,如果你编辑或修改的文件中没有这个标记,那么请加入,或者是替换原文件中相类似的表现形式(如"last modified"等等)
url样本:
你可以参照rfc 2606,使用"http://www.example.com"作为所有的url样本。
常量命名:
常量应该尽量使用大写,为了便于理解,使用下划线分割每个单词。同时,你应该常量所在的包名或者是类名作为前缀。比如,对于bug类中常量应该以bug_开始。以上是pear的编码规则,详细的编码规则可以参考pear中的coding_standdard文件的说明。为了更好地理解这些编码规则,你也可以参考一下现有pear核心模块的代码。
开始使用pear
pear
使用pear很简单,你只需这样定义你自己的pear程序:
require_once "pear.php";
class your_class_name extends pear{
你的类定义...
}


当然,你需要遵守前面说的pear的编码规则,之后你就可以在你的类内部实现你要做的事情了。下面,我们展开讨论一下,实际上pear为我们提供了2个预定义类:
pear:这是pear的基类,所有的pear扩展都要从它继承派生出来。
pear_error:pear的错误处理的基类,你可以选择派生出自己的错误处理的类。
一般来说,你不应该直接创建pear的实例,而是要自己派生出一个新的类,然后再创建这个新类的实例。作为基类,pear给我们提供了一些有用的功能,最主要的就是析构函数和错误处理
析构函数
php支持构造函数,但是并不支持析构函数,不过,php提供register_shutdown_function()这个函数,从而能够在脚本终止前回调注册的函数,因此pear利用这个特性,提供了析构函数的仿真。假如你有一个pear的子类,叫做mypear,那么在mypear类中,你可以定义一个函数,函数名是下划线加上你的类名,_mypear(),这个函数就是这个类的析构函数。不过这个析构函数和c++中的析构函数不太一样,它不会在对象被删除的时候执行,而是在脚本结束的时候,毕竟这只是一个仿真。由于是使用了register_shutdown_function(),所以在你的析构函数里,打印的信息将不会返回浏览器中。此外,在你的构造函数中,需要调用一下它的父类的构造函数,因为php不会自动调用父类的构造函数,而析构函数需要在pear的构造函数中注册,我们可以看看pear的源代码:
<code>
function pear() {
if (method_exists($this, "_".get_class($this))) {
global PEAR简介:用PEAR来写你的下一个php程序 - 凌众科技

快速业务通道

PEAR简介:用PEAR来写你的下一个php程序

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-25
content

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号

pear_destructor_object_list;
PEAR简介:用PEAR来写你的下一个php程序 - 凌众科技
快速业务通道

PEAR简介:用PEAR来写你的下一个php程序

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-25
content

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号

pear_destructor_object_list[] = &$this;
}
if ($this->_debug) {
printf("pear constructor called, class=%s\n",
 get_class($this));
}
.....
function _pear_call_destructors() {
global PEAR简介:用PEAR来写你的下一个php程序 - 凌众科技
快速业务通道

PEAR简介:用PEAR来写你的下一个php程序

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-25
content

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号

pear_destructor_object_list;
if (is_array( PEAR简介:用PEAR来写你的下一个php程序 - 凌众科技
快速业务通道

PEAR简介:用PEAR来写你的下一个php程序

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-25
content

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号

pear_destructor_object_list) && sizeof( PEAR简介:用PEAR来写你的下一个php程序 - 凌众科技
快速业务通道

PEAR简介:用PEAR来写你的下一个php程序

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-25
content

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号

pear_destructor_object_list)) {
reset( PEAR简介:用PEAR来写你的下一个php程序 - 凌众科技
快速业务通道

PEAR简介:用PEAR来写你的下一个php程序

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-25
content

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号

pear_destructor_object_list);
while (list($k, $objref) = each( PEAR简介:用PEAR来写你的下一个php程序 - 凌众科技
快速业务通道

PEAR简介:用PEAR来写你的下一个php程序

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-25
content

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号

pear_destructor_object_list)) {
$destructor = "_".get_class($objref);
if (method_exists($objref, $destructor)) {
$objref->$destructor();
}
}
//清空已注册的对象列表,
//防止重复调用
PEAR简介:用PEAR来写你的下一个php程序 - 凌众科技
快速业务通道

PEAR简介:用PEAR来写你的下一个php程序

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-25
content

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号

pear_destructor_object_list = array();
}
}
....
register_shutdown_function("_pear_call_destructors");
</code>


上面这段代码展示了pear是如何实现析构函数的,在构件函数中,将检查当前类中是否有析构函数,如果有,那么将把当前类的引用放入一个全局列表中,在_pear_call_destructors中,则检查这个全局列表中的每个元素是否存在相应的析构函数,如果有,则调用它,最后将全局列表清空。
在pear.php的最后一行代码,则调用register_shutdown_function("_pear_call_destructors"),注册_pear_call_destructors,这样,当脚本执行完毕的时候,php会回调这个函数。使用析构函数,你可以在处理完用户

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号