同感!我曾经用过在PHP中面向对象编程 这样的话代码量明显大于非OOP 但是速度不行 现在还用面向过程呢 据说PHP 5 全面支持面向对象变成 支持构造函数和析构函数等 估计速度能优化吧而且有一段时间很想用模板来写PHP 发现PHPLIB的模板有点慢 类里面有很多根本用不到的函数 我把代码精简了一下 大概能缩小到十分之一吧还可以还有我感觉注释特多也影响速度 象PHPLIB 注释量远大于代码 毕竟PHP是逐行解析的总之我感觉完成同一个功能只要代码行数越少 PHP运行的就越快

解决方案 »

  1.   

    PHPLIB的思路很好呀,我想,自已作开发的时候可以根据PHPLIB的思路模板化PHP,使美工和编程相隔离,初触PHP,小试牛刀.
    现在的PHP 5大大增强了OOP方面的功能,有点类似JAVA了.
      

  2.   

    个人理解在php中还没有类的概念(至少5.0正式发布之前)~!有的只是封装~!
      

  3.   

    试试pear的,好像对于模板它有几个不同的选择。
    还有www.11cn.org
    的ctb在这方面做的不错。
    速度很快。
      

  4.   

    oop应该比非oop的满
    函数越多,类越多,速度就要下降
    这是很难避免的
      

  5.   

    动静结合,不要所有页面都是php的
    生成一部分变化少的,浏览量大的html文件不错
    即使全用php,也要注意使用cache特性
      

  6.   

    oop追求的是开发起来爽,修改,维护,升级方便,代码重用率高,速度目前可能还不是最求的重点,php5不知道是否好点
      

  7.   

    oop追求的是开发起来爽,修改,维护,升级方便,代码重用率高,速度目前可能还不是最求的重点有道理~
      

  8.   


    尽管面向对象的代码比面向过程的代码可能要大,加载时的伪编译时间可能要长些。但这都不能得出楼主的“速度明显OOP慢于非OOP”结论。
    作为比较的对象应该是完成同一任务的最佳代码,否则你的结论肯定是错的。
    比如你给我一个类,我以最菜的代码来改写(以运行速度慢于类为标准)。然后我告诉你,速度明显非OOP慢于OOP。你能信服吗?
      

  9.   

    OOP易于设计,但是就我感觉,对PHP而言,好的非OOP程序速度上至少不会慢于OOP设计的程序。
      

  10.   

    oop更符合人得正常思维,至于效率不一定高
      

  11.   

    oop不比非oop慢?搞笑的可爱...
    网络程序开发,讲的是开发速度,维护,升级...oop可以生成静态页,非oop也可以生成静态页...
    楼上反oop的选哪个?如果一谓的强调.php的下载...速度...那非oop快...
    但真要是强调速度~~~谁会放弃.htm而用.php?
      

  12.   

    oop不比非oop慢?搞笑的可爱...
    改为
    oop比非oop慢?搞笑的可爱...
      

  13.   

    一个是用C写的程序,一个是用汇编写的,速度明显C的慢于汇编的,难道C语言不中?
      

  14.   

    无聊最简单的例子,实现购物车功能的网站有几个是通过非class方式实现的...?
      

  15.   

    不应该为计较相差不到一秒的时间而舍弃oop,是不/
      

  16.   

    OOP比非OOP慢值得怀疑吗?
    一个人早上起来需要穿上在众人面前展示一天的衣服,只穿一条内裤和穿内裤、T恤、长裤,哪个速度快呢?
    但是在现在谁会选择前者呢?
    OOP的出现首先不是为了超过OPP的速度,而是为了让所有程序员们(代码原形塑造者、二次开发人员、n次开发人员)更舒服,同时尽量在程序呈现给用户时不会被用户拒绝(用户可不管拉车的是光屁股牛还是穿马甲的牛,但不能是蜗牛)。考虑到效率的问题,C++标准中没有使用垃圾回收机制——内存反正会越来越大啊!Java使用了垃圾回收是因为它实在不能等内存“慢慢”提升了,呵呵。
    OOP在复杂应用中的优势将会明显显现,就好象让我和罗那儿多比谁能把足球抱在手里与让我们比谁能把球踢进门里一样。OOP是建立在对应用高度抽象的基础上,占据一个制高点后向下部署或者寻找合适。
    伴随硬件的升级,OOP与OPP的速度之争已经越来越不被关注了。垃圾的OOP代码比钻石的OPP代码运行慢可以理解吧...
      

  17.   

    好用就行,慢点是可以的。
    OOP本来就强调代码的重用性。我曾经写一个class完成一个功能,后来我专门把class展开实现同样的功能,即把所有的function可能展开的都展开,速度确实比class要快,但是有谁会把差不多相同的代码重写n多次呢?
      

  18.   

    不用OPP方式,大型网站怎么做???要人老命?
      

  19.   

    对了,有人有功夫给些个例子没?计算下执行时间,看看到底差了多少啊?
    另外,编码人员的代码的质量也是问题哎:)cpu是为客户服务D,不是为程序员服务D
    OOP给开发人员带来的解放不是一点半点啊,尤其现在懒的时候,随意到网上找个class用就行了,可是,如果是opp,就麻烦了……
    大型网站开发当然需要OOP OPP结合啦,JAVA还有简单数据类型呢,不是狠纯粹呢。
      

  20.   

    打错了,是OOP,不用OOP来写网站,可能小网站可以,如果是大型网站代码量肯定直线飚升!
    速度慢一点,但是可维护性增加了,还是值得的
      

  21.   

    估计我的虚拟主机cpu占用比较高,oop耗cpu资源大,所以慢了?
      

  22.   

    看你的需求了,如果对于效率要求很高,有些地方不适于用OOP的思想,PHP的OOP只是一种思想,在许多底层的东西是不可控的,例如如果用C++你反复打开一个文件,你只要传回他的指针,并不需要大量的传递参数的拷贝,而PHP在用别人写出来得函数,自然不敢保证有非常高的效率(当然并不是php的函数不高效),再加上在这样的基础上建立的OOP思想,自然更加的不能保证效率,但是在对于这种效率要求不是很高,而对于维护和扩展性还有模块化要求高的话,自然OOP是必要的。
      

  23.   

    讨论了这么多OO易于维护和组织
    OP效率相对较高
    楼上blueoxygen(氧气)说得有道理,cpu是为客户服务D,不是为程序员服务D能不能在开发的时候用OO。最后发布的时候用工具转换成OP。。
    不就两全其美了么?不过好像没听说过有类似的东西
      

  24.   

    oop的速度肯定会慢一点,但是相比它给可维护性可复性方面带来的好处,我觉得这点代价是值得的。再说了,速度问题应该通过其他别的方式,比如静态页面缓存啊等来抵消这种对速度的影响。
    我现在基本上都用oop来写,当然对于一些小功能如果用函数更方面的话,我肯定也用非oop了。
      

  25.   

    上面讲了用oop是为了易于维护跟重用,但代码却多出一堆,所以速度慢了,那就需要算法来提高程序的执行效率.oop适用于大型网站或软件开发,其技术方面相对于opp高了不少,这也就是为什么用c++,java,delphi工资会比php之类的网页语言高的原因.
      

  26.   

    偶是PHP的OO忠实追求者
    不用OO,有的项目我根本没法做。产品规划到需求分析到产品设计没有OO的设计,怎么去实现代码??除此之外,我还是狂热的MVC迷。对我而言,JAVA有现成的MVC方案(框架),似乎还并不能让人感到激动;在PHP中,用OO去实现MVC,用MVC去实现项目,这是一件多么让人振奋的事情。这帖主题问的并不好。
    一个技术存在并不只是用效率两次衡量的。从PO到OO,是程序员的解放,却是以程序运行效率的降低为代价的。OO的效率同样存在于JAVA——一个纯OO的语言——中,可没多少去谈JAVA的OO效率问题,为什么?因为你别无选择。这帖该怎么问?“PHP中的OO值不值得?”
    写过大项目(尤其是按照正统软件工程一套下来)的,不言而喻。
    用时间抱怨PHP的OO效率,不如花时间研究算法,斟酌结构,那还更有意义。
    对于我,像我前面说的,失去了OO,一些项目无法下手。也许让一些人同意我的观点必须洋洋洒洒写篇论文,我想也没必要。当你接触了你就明白了,没有实践也许永远不能理解。回头说说MVC。这是我最近经常和人提起的一个关键字。
    大部分人不已为然,有的也劝我“回头是岸”。而我并不非常在意代码的实现(但我很在意程序在同样实现下的效率),我最在意的是实现代码的思想,结构,方法,框架。可惜,似乎这方面有兴趣的朋友太少。包括CSDN也少人问津。
    遗憾
      

  27.   

    抗议!
    刚刚留的帖子又丢掉了,csdn真的要好好修正一下服务器了。
    这几天经常出现这个问题,很扫兴。很赞同楼上这位朋友的说法。看起来功力已是高一个台阶了。很好。
    opp和oop又各自的应用场合,这就是具体对象,具体分析。脑筋讲的是灵活,什么时候才能看出来你灵活那?呵呵,就是闲着没事的时候再也不会在考虑“oop和opp那个更好”之类的问题。   对于我,像我前面说的,失去了OO,一些项目无法下手。也许让一些人同意我的观点必须洋洋洒洒写篇论文,我想也没必要。当你接触了你就明白了,没有实践也许永远不能理解。这句未免也太夸张了点。呵呵,opp出来在的时候,oop在那里那?oop也是在opp的基础上起来的,只是强调了重用和众所周知的oop的几个特性。那么,oop是最好的了吗?他是软件技术的最高点吗?谁敢肯定的下结论?呵呵,技术在不断发展,我们的眼界也要不断开阔。没有优何劣,有的 只是  选择!
      

  28.   

    OOP也许不是最好,但是起码它在面对对象的这个方案上有大力贡献,,
     
      现在头疼的是程序员和美工间的配合问题。
      

  29.   

    呵呵,有人说,OO之后是FO--Function Oriented(面向职能)。
    摘选一段,对错好坏自己分析:
    个人认为,作为一个程序员,思想是必须要的。时刻关注业界信息,“升级”自己的思想由为重要。
    以上的文字摘自http://www.uml.net.cn/OONext.htm
    有兴趣的去看看,当长长见识也好。==============================================================================
    [reply DSONet(大山) said]    对于我,像我前面说的,失去了OO,一些项目无法下手。也许让一些人同意我的观点必须洋洋洒洒写篇论文,我想也没必要。当你接触了你就明白了,没有实践也许永远不能理解。这句未免也太夸张了点。呵呵,opp出来在的时候,oop在那里那?oop也是在opp的基础上起来的,只是强调了重用和众所周知的oop的几个特性。[/reply]呵呵是有“夸张”。但“无从下手”也不是无能为力。
    很难想象,现在去用面向过程再去开发大的项目是什么情形。恐怕只有“恐怖”二字吧?^^!
      

  30.   

    其实不必去争这些,oop本身比非oop高级,就像大家所说的,oop的主要目的是提高开发效率,如果追求运行效率,那最好还是选择二进制吧!:)所以在最优化情况下,oop必然比非oop效率要低一点,至于多少,需要具体问题,具体分析。
      

  31.   

    我写的购物车就一点都没用所谓的类,oop,也许是我太落后了,哈。
    oop带来的冗余的代码会影响到php解释速度,毕竟php不是常驻内存的解释器。
    每一个网页都要重新解释所有的类所有的函数【cgi方式】。
    网页解释完进程就退出了,也许这是需要改进的地方。
    想用类的话还是去jsp累去,java的类可是经典