Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4250295
  • 博文数量: 601
  • 博客积分: 15410
  • 博客等级: 上将
  • 技术积分: 6884
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-16 08:11
个人简介

独学而无友,则孤陋而寡闻!

文章分类

全部博文(601)

文章存档

2020年(1)

2018年(4)

2017年(7)

2016年(42)

2015年(25)

2014年(15)

2013年(36)

2012年(46)

2011年(117)

2010年(148)

2009年(82)

2008年(37)

2007年(41)

分类:

2010-04-28 21:17:08

PHP5的扩展库
        PHP5的扩展库包括标准库SPL(Standard PHP Library)和外部扩展PECL(PHP Extension Community Library)。标准库即被编译到PHP内部的库。历史上标准库指的是Standard扩展(默认即编译进 PHP),但5.0出现后,标准库实际上成了代名词。PHP5新增内置标准扩展库:XML扩展库——DOM,SimpleXML以及 ICONV,SQLite等,而类似MySQL、MySQLI、Overload,GD2等这些库则被放在PECL外部扩展库中,需要时在php.ini 配置文件中选择加载。

一、XML扩展
        在PHP5中,所有的XML扩展已经被全部重写,使用libxml2中的XML工具包(参考网址:), 它为PHP的XML操作提供了更多丰富和高可维护性的技术
        在PHP5.1后,上述所有扩展(包括SAX\DOM及XSLT)已经全部集成在PHP软件发行包中,其中包括SimpleXML和SOAP功 能。我们可以用PHP5提供对XML的强大处理功能,比如对RSS\Web Service的数据分析、处理等。

1、DOM
        DOM全称为Document Object Model,在PHP4版本中,已经使用了libxml2库对DOM的支持,但是存在内存泄漏的Bug,并且该API对W3C也不太兼容。
        在PHP5中,DOM扩展已经实现完全支持,不仅是扩展库已经重新写并被集成到PHP,而且对W3C标准全面兼容。

2、SimpleXML
        现在PHP开发者在操作使用XML时,又多了一种选择—— SimpleXML,这是PHP5全新开发的外部扩展库,用以替代DOM或较难用的SAX。
        SimpleXML将XML文件视为一个PHP对象,可以读写以及重载,而只需要简单的访问元素以及属性就可以了,请看下面的XML文件。
   
        
        张三
        8801872348385371
        

        
        李四
        8801723843291345
        

      

        下列程序将打印XML文件中的每个客户的名字和帐号
                        $clients = simplexml_load_file('clients.xml') ;
                 foreach($clients->client as $client){
                         echo "$client->name 的账号名称 $client->account_number\n ;
                 }
       ?>

3、XML Reader
        PHP5引入了新的类XMLReader,用于读取可扩展标记语言(Extensible Markup Language,XML)。与DOM和SimpleXML不同的是,XML Reader以流的模式进行操作,即从头到尾读取文档,在文档后面的内容编译完成之前,可以先处理已编译好的文档前面的内容,从而实现快速、高效、节省的 使用内存。

4、SOAP扩展
        SOAP协议(Simple Object Access Protocal ,简单对象访问协议)是WEB服务(Web Service)的一种,用以解决异构系统之间的信息传递问题,如PHP与.NET Web Service之间的消息共享,PHP与Java Web Service的互通等。
        在PHP5中,已经完全重写了对SOAP支持的扩展库,也不需要再使用Pear SOAP或nusoap类库。下例为调用SomeFunction()的一个WSDL文件。
                    $client = new SoapClient("someurl.wsdl") ;
                $client -> SomeFunction($a , $b , $c) ;
    ?>
        由于SOAP功能被PHP5封装在内部扩展库中,执行速度与效率都比使用外部类库要高,这样能够更容易创建和使用WEB服务。

二、SPL
        SPL-Standard Library (PHP标准库)是为解决一些在WEB开发中普遍存在的问题,在PHP5中提供了一系列的接口(interface)和类(class)的类库。
        SPL为PHP开发者提供了迭代器(Iterator)、数组对象(ArrayObject)、运行时异常处理 (RuntimeException、InvalidArgumentException等)、观察者模式(Observer Parttern)等数据容器与解决方案
        可以使用下面方法查看可用的SPL类。
                              print_r(spl_class) ;
        ?>

三、MySQLi扩展
        PHP5重新编写了一套新的MySQL数据库扩展库——MySQLi,它提供了新的特性以及针对新版本MySQL5.X的优化功能,这个扩展提供了 两个接口,分别用于面向过程的和面向对象,PHP开发者可以任选一种样式进行开发。
         MySQLi扩展还支持prepared预执行、变量绑定以及SSL连接支持、数据压缩连接、事务控制等实用的功能和方法。

四、PDO数据库抽象层
        PDO(PHP Data Object)是PHP5中新加入的数据库抽象层,直接预装到PHP的扩展中,主要为了解决访问不同数据库统一接口的问题。
        PDO类似于数据库抽象层对象驱动(Database Abstraction Layer),如PEAR :: DB类和ADODB数据库抽象类的操作,这给数据库间迁移的通用性和开发程序的易用性带来极大的方便。
        如果采用PDO扩展进行WEB开发,可以像使用著名的ADODB、PEAR :: DBS数据库抽象类一样,使用像fetchAll,fetchAssoc等多种方法取得记录集,使程序逻辑更简洁清晰。
        由于PDO是底层开发的C代码开发编译,因此执行效率较高,同时也提高了PHP代码层的通用性和可读性,调试起来更加方便。
        PDO是随PHP5.1软件包正式分发的,目前已经支持绝大多数的主流数据库系统,如MySQL,Oracle,MS SQL Server等常用的数据库管理系统。

五、JSON扩展
        JSON全称为JavaScript Object Notation,是一种非常轻量级的数据交换格式,自PHP5.2起,正式在内部集成JSON功能。
        JSON是基于JavaScript Programming Language , Stantard ECMA-262 3rd Edition-Dcember 1999的一个子集,它主要利用了成对的{}来包住各个object(对象),用成对的[ ]来包住各个array(数组),用成对的" "来包住字符串,用逗号来区隔各变量,数据类型有字符串(string),数组(array),对象(object)。
        JSON主要用于JavaScript与服务器端脚本的交互。
阅读(4081) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~