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

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

浏览 246913 次
该帖已经被评为精华帖
作者 正文
   发表时间:2009-01-20  
PHP 就是: Quick and Dirty
Java 就是: Beauty and Slowly
Ruby 就是: Quick and Beauty
python 就是: Quick and Simple

Java应该还加上这么些个:security, maturity

另外一个要考虑的就是语言的受众,正如robbin举的例子他的朋友的老公也可以搞搞php,但是如果让他去写面向对象就over了。再这么引申一下,如果你在做一个项目,你的队友也是这样的水平你是否会抓狂?
0 请登录后投票
   发表时间:2009-01-20  
seemoon 写道
PHP 就是: Quick and Dirty
Java 就是: Beauty and Slowly
Ruby 就是: Quick and Beauty
python 就是: Quick and Simple

Java应该还加上这么些个:security, maturity


我倒是不认同应该加上这两个,全性涉及太多因素,不能全都归结到语言上,用 java 照样可以写出很不安全的程序,PHP  程序安全性的诟病,你可以参看我翻译的那篇访谈录.
http://www.iteye.com/news/4143-masters-listening-to-talk-4-php-founder-rasmus-lerdorf-interview-2
引用


Rasmus Lerdorf :的确有很多很烂的代码, 我们无法把他们都修复了, 有一些错误的确是我们的问题, 我们的程序确实有 bug , 我们会尽量正确地修复它. 但是还有很多是我们无论如何都无法解决的. PHP 比别的语言跟容易出现这种问题, 因为它比其它语言更容易学习, 也就是说越是缺少编程经验的人越容易采用 PHP , 有一些代码的确写的不那么安全, 结构也不好. 而且 PHP 项目的命名也是个问题, 人们总喜欢用 PHP 来命名自己的项目.

Leo Laporte:  是啊, 宝贝, 这可是用PHP写的. 不用其它名字来命名项目了.

Rasmus Lerdorf :呵呵, 我也不知道为什么我们会有这个问题,  别人就不会起 Python Mailman  这样的名字. 其它语言开发的项目不会起名为 Perl XXX, Python XXX, Ruby XXX , 当然 Ruby on rails 是个例外. 你看, 这么多项目都以 PHP 命名, 他们似乎都想打上 PHP 的标签.

Leo Laporte:  Php Myadmin 也是其中之一, 有很多这种方式命名的项目

Rasmus Lerdorf :任何一个关于这些项目的 bug 都会归到 PHP 头上, 如果 Mailman 出现了安全性的问题, 你的第一反应不是 Python 出了什么安全性问题, 至少通过名字关联不会这么想, 你最多只是说:"Mailman 这程序太蠢了", 如果 PHP 的项目出了问题, 他们就会说:"PHP 又出问题了, 这个语言的确不安全, 看看这些问题吧"




说到成熟性, Php, python 的历史和 JAVA差不多, 各种应用都有。
0 请登录后投票
   发表时间:2009-01-20   最后修改:2009-01-20
robbin 写道
其实PHP核心问题都不是性能,而是能不能保持“简单性”和“草根性”

一个有点编程背景的普通人,只需要学习PHP半天时间,就可以上手开始开发web应用了,这就是PHP最大的优势。专业程序群体才多大,而电脑爱好者的群体有多大? 我一个朋友,做photoshop出身的,人家学了两天PHP,到处接活给人家开发网站,一个人全部搞定。你让他学Java,那真要了他的命了。我另外一个朋友的老公,人家压根就不是这一行的,照样会用PHP搭网站,人家上网去下载一个PHP程序,改吧改吧页面,就弄好了,你让人家学ruby?那肯定不可能。

PHP的人海战术也就是这么来的,群众基础好。事实上PHP5曾经在相当长时间内被抵制,就是因为PHP5的面向对象语法引入了对于电脑爱好者来说门槛开始变高了,PHP开始变复杂了。

因此PHP再用什么框架,是违背PHP本身的设计哲学的。PHP就应该做简单的页面处理就够了,复杂的逻辑让后台的Java/C++去处理。




这倒不一定,要看是追求什么了。比如,我在一家公司搞过两年PHP,现在搞java,一边还在搞ROR。
一步一个脚印。但现在发现,技术追求是无止境的 。所以打算以ROR为主了。

对于PHP,我觉得,对应快速变化几乎不需要大量时间维护代码的互联网需求,PHP可以做到完美灵活。没有框架也是有没有框架的好处的。

自从我开始写java程序,我几乎没有再去看PHP代码,但有一次,一同事传了个PHPCMS代码让我帮它改点东西。我看着N个页面一大堆代码,看得直冒火。
但是不能否认,PHP开发出来的应用,功能都很强大,部署成本又低,用户很喜欢。
曾经我也想拿SSH写个类似Discuz的东东,但后来不了了之了,因为感到实现很多类似功能难度实在是大。

ROR让我找到了希望。

0 请登录后投票
   发表时间:2009-01-20  
koalant 写道

我倒是不认同应该加上这两个,全性涉及太多因素,不能全都归结到语言上,用 java 照样可以写出很不安全的程序,PHP  程序安全性的诟病,你可以参看我翻译的那篇访谈录.
http://www.iteye.com/news/4143-masters-listening-to-talk-4-php-founder-rasmus-lerdorf-interview-2


同意.安全性牵扯的因素太多. 虽然不能说和语言无关. 但是光拿语言来说不具说服力....


koalant 写道
说到成熟性, Php, python 的历史和 JAVA差不多, 各种应用都有。


同意....我最怕的就是听到 java成熟库多,所以要选它.....  还真成最后一块遮羞布了....
0 请登录后投票
   发表时间:2009-01-20  
thinkphp不错,推荐。
1 请登录后投票
   发表时间:2009-01-20  
poshboytl 写道
kingheaven 写道
koalant 写道
zope2/plone 还是一个产品化的东西,还是比较易用的,通过  product 也可以扩展,但是后来发展起来的 Zope3 就是相当复杂了,其复杂性可以和整个 J2ee 相比较,跟 zope2 根本就是两回事,真是“没有接口创造接口也要上”,简直就是 java 程序员的作品,最终闹的 java 这边没人喜欢, python 那边也没人喜欢,pyhton 程序员还是比较喜欢简单的东西的。

简单的来说:
PHP 就是: Quick and Dirty
Java 就是: Beauty and Slowly
Ruby 就是: Quick and Beauty
python 就是: Quick and Simple


所以PHP需要一些规范来指导开发。
维护一个纯PHP页面,并且没有良好架构设计的PHP程序就是一个噩梦。



这个规范是指的框架吗?


也不一定是框架了~当然了~框架是一个很好的规范.
也有很多人写PHP不用框架,但是照样可以写出优美的程序来,关键在架构,就是如何设计自己的程序,以达到代码的优化,组件的复用和功能的扩展,所有的框架也都是为了完成这些的.
0 请登录后投票
   发表时间:2009-01-21  
我的构想是:
用PHP的简单,从而可以快速开发.
用PHP的框架,从而可以统一代码风格和实现.
用一堆服务器,来弥补框架带来的性能低下.

也就是把性能这个问题单独解决.

0 请登录后投票
   发表时间:2009-01-21   最后修改:2009-01-21
Robbin的总结好!对PHP长短各有所辞。
末了,还是要解决选择谁的问题,结论绝对不是抛弃PHP.

是否选择PHP,是否选择PHP Framework, 完全应该以是否满足你的应用为指标:

事先确定框架的性能指标是否满足你的应用,测试的时候你可能要采用各种缓存技术,或者和你的设计构架有关,然后决定适度、适当采用框架。有人习惯对于脱离应用比较哪个语言或者框架好和坏,我觉得这常常让你走进误区,我们只是想采用合适的技术完成应用的开发。不是吗?

php简单,这对客户难道不是诱惑吗?如果性能无碍,就顺从客户吧:)


0 请登录后投票
   发表时间:2009-01-21  
koalant 写道
zope2/plone 还是一个产品化的东西,还是比较易用的,通过  product 也可以扩展,但是后来发展起来的 Zope3 就是相当复杂了,其复杂性可以和整个 J2ee 相比较,跟 zope2 根本就是两回事,真是“没有接口创造接口也要上”,简直就是 java 程序员的作品,最终闹的 java 这边没人喜欢, python 那边也没人喜欢,pyhton 程序员还是比较喜欢简单的东西的。

简单的来说:
PHP 就是: Quick and Dirty
Java 就是: Beauty and Slowly
Ruby 就是: Quick and Beauty
python 就是: Quick and Simple


总结的精辟啊
0 请登录后投票
   发表时间:2009-01-21  
poshboytl 写道
做ROR有一年了, 感觉非常好.配合敏捷实践(除了pair, 由于是和美国工程师远程合作.)开发速度的确快.一共三个人写代码,短短半年, 项目就基本结束了....

现在新项目即将到来, 客户在php和rails之间难以取舍. 我也打算趁此机会了解一下php.
由于项目定制性还是比较高,想通过成熟的CMS等系统来改改估计是没戏。
从头开发又觉得太慢。于是想从开源框架入手。

经过了解才发现, php新兴的一些框架基本上清一色的学习(或者叫抄袭,特别是cakePHP, 那简直抄得太厉害了.)rails。而且这些框架还发展的很好,越来越受到php社区的欢迎。 比如国外cakePHP,国内的Fleaphp, QeePHP等等,就不一一列举了.

昨天用cakePHP做了个简单的demo, 确实抄rails那是抄的相当直白。 甚至连rake都还有相应的东西代替。除了migration和filter我没找到对应的东西。让我一个不懂php的人,都还是可以很快地上手了.

一方面感叹php抄rails这种彻底,另一方面也感叹这些抄袭之作的确也带来了php开发效率的提升。虽然由于php本身的原因,框架的引入对性能的影响是比较大的。但是这些框架的出现大有重整php社区的意思。(至少客户就告诉我们,用rails不如用cakePHP,这样他们也不会引入更多风险。他们还介绍他们美国几个团队都又从rails转回cakePHP了.)

我就纳闷儿了,当时还觉得rails就是冲着php的市场去的。。。现在反而觉得rails的思想拯救了php...

大家觉得是应该继续说服客户呢? 还是就用山寨rails了呢?





CakePHP还不算抄袭,PHP On Trax(http://www.phpontrax.com/)那才叫抄袭:)
0 请登录后投票
论坛首页 编程语言技术版

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