1、在现在这个年代,硬件性能的突飞猛进使得我们不必总是把一点点微不足道的性能影响放在心头;
2、硬件性能至今在遵循着摩尔定律,性能不断有大幅提升,与此同时,软件的开发技术却进步十分缓慢,提高软件工程技术,缩短软件开发周期,提高软件开发质量,增加软件的可维护性,提高代码的重用性,是软件开发从业人员更迫切需要解决的问题;
3、直接使用php开发函数影响开发速度,降低代码可读性,降低代码重用,使代码相对而言更冗长复杂,而且代码一长则出现bug的可能性也随之增加;
4、可以看看一些较大的项目,比如很多比较好的论坛什么的,哪个没使用数据库类;
5、PHP5.1开始提供了PDO,全称是PHP数据对象,它提供了原生的数据库抽象层,可见PHP开发组对此也持提倡态度。总之,使用数据库类有n个优点,不使用有n个缺点。

解决方案 »

  1.   

    楼上说的有道理,我们在相当长一段时期内还要用php4,不知道PEAR里面的DB类怎么样?
      

  2.   

    好像有N篇文章讨论这个问题。
    至少我们公司是使用最复杂的ADODB来做,为什么PHP不如其他语言,比如Java,.Net,呵呵,就是因为大家不会封装,重用。人家的JDBC,ODBC多好的东西,把数据库处理抽象一下,用起来不是很爽?
    如果你的项目足够小,比如一个留言本,那么你还是不要使用抽象类了,会浪费你的效率。
    如果你的项目稍微大点,比如,一个CMS,Blog,那么我是非常推荐你使用的。
    熟是熟非,用了就知道,我想哪点效率,真的感觉不出来。流行的数据库抽象类:
    phplib DB   
    非常简单,代码也好,基本不影响效率,适合简单应用,只能处理MysqlPEAR::DB    
    PHP小组推荐,能支持主流数据库,功能还行,类库不是特别多,效率一般,适合中小型应用,目前我在使,做纯面向对象的开发ADODB       
    最强的处理类,跟Smarty天生一对,支持的数据库非常之多,适合项目比较大,应用复杂,需要极度代码重用的项目。ADODB Lite
    ADODB的简化版,支持基本的ADODB的方法,但是类库比ADODB少了很多,执行效率提升了很多,跟Smarty-Light是合适搭档。
      

  3.   

    heiyeshuwu(黑夜路人) 说的ADODB Lite比ADODB执行效率快了很多,是没有理论根据的。以下是ADODB的作者johnlim的原话:
    I'm not the author of ADOdb Lite, and I respect their direction and point of view. But I'd like to point out the memory and speed issues are mainly due to shared hosting requirements or tight memory requirements. 
    "我不是adodb lite的作者,我尊重他们的观点和方向,但是我得指出adodb的内存和速度方面的表现主要是由于共享主机(虚拟主机)的设置方面的特别需要和内存不足造成的”
      

  4.   

    大项目用类,小工程用自定义函数,小工具直接写函数解释型语言的类不同于编译型语言的类,每一个页面它都要重新include文件,重新解释重新构建,除非使用一些优化器或内存缓冲器
      

  5.   

    关键是培养一种思想吧, I think
      

  6.   

    感觉pdo类不错。
    直用当然快。
    不我还在在上面加了一个类。
    有点像DB类,
    我改一个网站,那个网站用的是DB类的。原来用的好好的。
    不知道什么原因。mysql数据库经常down掉。发现mysql有过多的sleep进程
    我改成我的类又没有总题了。
    不知大家用过pear DB类有没有这个现象
      

  7.   

    pdo现在
    取得的数据集不能直接获得大小