论坛首页 编程语言技术论坛

PHP框架的繁荣是正确的发展方向吗?

浏览 247025 次
该帖已经被评为精华帖
作者 正文
   发表时间:2009-02-05   最后修改:2009-02-05
magician 写道
居然还纠结在性能上......真是无趣


现在的焦点就是有朋友认为 php 用框架后性能有问题,所以 php 就不该用框架。
0 请登录后投票
   发表时间:2009-02-05  
我一直有个想法,就是写一套框架,使用面向对象的方式开发PHP。
但是这个框架也是一套生成器,生成的代码,是过程式的代码。
这样既保证了性能,又保证了开发效率,同时也更容易维护。
0 请登录后投票
   发表时间:2009-02-06   最后修改:2009-02-06
问题都纠结在性能上来了。
PHP使用OOP是不是能保证性能?
PHP是不是本质上就是性能低下?
在PHP使用面向过程比面向对象性能要低多少?
如何在同等硬件配置的情况下保证PHP的性能?

盖到18幢,楼已经很偏了。回到楼主的问题:拯救还是毁灭?
各路大侠都发表了高见。我这里说一个“辣子鸡”的故事吧。

有甲乙丙三个人都会做辣子鸡,乙和丙无论怎么烧都做不出甲那么好的味道来。于是向甲请教。乙完全复制了甲的做法,连每一点水每一粒盐每一丝火都一样,结果做出来的味道跟甲一模一样。而丙总是在学甲的过程中有自己的想法,不是水多,就是盐少,结果还是不如甲的好吃。乙在完全掌握了甲的做法之后,吸收了甲的长处,然后再加入自己的想法,融入自己的特色。再做回自己的辣子鸡。不久之后,乙做的辣子鸡是他们三人中味道最好的。

七月十五曰:完完全全一模一样的复制是很难的,而从中得到长处融入自己的特色做得更好是难上加难。不信你可以去玩一下那个经典的“复制”游戏。跨越主观,无远弗届。

那么请问各位,还有拯救和毁灭之说么?
0 请登录后投票
   发表时间:2009-02-06  
Rails既不會滅php,亦不會救php。而且php與Rails並不同類,ruby與php才是同類。Rails係應用軟件,php係程式語言。

每種東西都有其應用範圍。況且php有大量source在用,絕不會輕易被滅。要知無端白事重寫一個行之有效的系統,益處不大。況且總有人要去維護系統,有相當多人用自然有新發展。尤其php之生命乃繫於web之上,除非web有革命級的轉變,難以看到php會歿頂。

另一點係,程式語言與應用軟件不同,應用軟件的生命很短,而一個有生命力的程式語言,壽命十分長。例如,COBOL雖老,但銀行都一直在用。例如fortran,數學一門仍在教。LOGO+turtle仍為童學語言(其實係好高階的語言)。所以php未來的壽命,可能比Rails還要長。將來有軟件替代rails亦說不定,但Rails引入的計設概念,影響更深遠。同時令Ruby有更大的發展空間。
2 请登录后投票
   发表时间:2009-02-06  
http://quercus.caucho.com/
把php编译成java就解决了
0 请登录后投票
   发表时间:2009-02-06  
怎麼標題改了也不通知一下?
0 请登录后投票
   发表时间:2009-02-06  
谁改的标题???? 不是我啊???? 晕噢.....
0 请登录后投票
   发表时间:2009-02-06  
为什么大家把PHP和Rails进行比较?恰当吗?
一个是语言,一个是框架

我觉得比较对等应该像这样:
PHP -- Ruby
CodeIgniter/CakePHP.../Qee  --- Ruby On Rails
0 请登录后投票
   发表时间:2009-02-07  
php的框架还是不要用的好。性能确实很差。我是做JAVA的,曾将想用ZF做项目,因此做过SPRING MVC和ZF的性能比较。可以供你参考。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++hardware: Dell labtop, CPU Core 2, 1.73GHz, 2G memory
++++PHP env: webserver apache2.2; php5.2.6, xcache1.2.2(I 100% ensure the php code has been cached)
++++Java env: jdk1.5.02, tomcat 6.0
++++OS: Windows XP
++++benchmark: 100 users, 1,000,000 requests++++benchmark tool: apache ab tool
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++scenario: use php zendframework and java spring mvc to implement a 'hello world' application without database access
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
====result - raw php without zendframework: 1,300 requests passed per second
====result - raw jsp without spring mvc: 2,060 requests passed per second
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
====result - php with zendframework: 15 requests passed per second
====result - java with spring mvc: 1720 requests passed per second
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

原生态情况下,性能差异在同一个量级,当使用了MVC的情况下,SPRING MVC是ZF的100倍。这实在让我惊讶。

之前看过国外的一些性能评测,cakephp, zf, symfony的性能差别不大。
我对没有用过ROR,但也看过一些ROR和PHP FRAMEWORK的性能对比,也是在一个量级。但是在并发较大的时候,ROR的表现依然比较稳定,而PHP FRAMEWORK的表现就不行了。

我个人很有疑问,JAVA的性能如此的好,可以使用的资源如此的多,而SCALABILITY与语言是没有关系的,做网站大家却不喜欢用,不知道为什么。

0 请登录后投票
   发表时间:2009-02-07  
这个测试根本没有参考价值哦。

首先测试环境是 windows + apache,性能完全没有意义。
我曾经测试过,同样的 php 代码,在 windows xp + apache 里面跑的成绩还不如 vmware 虚拟的 ubuntu 快(在 windows xp 里运行 vmware)。

windows + iis + fastcgi 跑 php 的性能,至少是 windows + apache 的 10 倍,有兴趣的可以测试一下。如果是 linux + lighttpd + fastcgi 跑 php,性能还会有显著提高。

-------------

最后 zf 的性能本来就不怎么样,不能用来代表所有 php 框架。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics