背景大家都知道,不多说了,开始是ruby on rails挑战php,现在几乎各种大点的php框架都在一个劲模仿ruby on rails。。。最厉害的就是cakephp了。
然而很多制作大型框架的大神们貌似都忘记了php简单易用的本质,php不是java,把一些东西封装得太厉害,感觉是弄巧成拙!
(字数限制,未完待续!)
回复内容:php 开发团队缺少一位象dhh那样有想法的领袖。从5开始逐渐偏向java,看来php核心团队对“php不适合企业级开发”耿耿于怀。简单易用、适合新手的特性也逐渐丢弃。流行的php框架也都没有自己的设计思想,要么学spring,要么django,更多的是学rails,说到底,php并没有出现优秀的框架。
说php被rails带上邪路我不太赞同,rails之所以优秀,得益于dhh提出的一些设计思想,比如dry,比如约定优先于配置。还有大量的最佳实践。php框架应该学习的是他的思想,而不是表面的东西。应该说是开发者被那些五花八门框架带上了邪路,rails是刺激了php,
也有一半部分原cakephp开发人员感觉是cakephp不是很符合php,所以重开了一个lithium php框架,
比起zend,symfony这些(个人觉得zend有太重的java味道, 至于symfony的函数名是不是obj-c味,cakephp是不是rails味,yii是不是.net味倒是不清楚了)“大型” 框架,li3很不错框架跟语言两码事,嫌邪就不用框架呗(字数限制,上接问题)
拿官方的zend framework来说,我感觉它更像一个啥代码生成器,好多故弄玄虚的东西。用zend framework的时候,我感觉不是在编写一个网站而是感觉在用java或是c#编写一个软件。完全没有php那种感觉。比起zend framework,symfony做得有过之而无不及。就像android在linux上面自己做一个层一样,这些框架貌似想在php基础上自己再搞个层出来。php本来是一种非常高级的语言,这些框架却有把它变成底层语言的意思。
所以我更喜欢使用一些更轻量级的东西,比如thinkphp、codeigniter之类的东西。。。
-------------------
我承认php不太适合大型项目,大型项目你用java啊!何必勉强php呢?听说twitter不是也考虑放弃ruby on rails而改用java了么。。。
希望听听大家的语言。。。它可能受惊了之前大学的时候玩过php,一开始工作用java,然后创业用rails。自己本身各种语言都玩。玩过这么多语言,觉得还是算比较全面的分析一下:
欢迎拍砖。
严谨性。 很难写出没有bug的代码,php本身是一门hack语言,各种打补丁的方式来扩展自己。生态圈 。 php社区的投资或者积累都在web这块。php非常适合变化很快的web产品的开发。> ( @allen )本身的优势就在于生成页面。但是在于事务,数学计算,安全等领域,php的积累都不足以支撑其在企业领域的应用。 php 开发团队缺少一位象dhh那样有想法的领袖。rails各种web的最佳实践(pjax,scss,coffee)甩开php几条街应用场景 php更多的是前端,在后端,桌面端,移动端基本上没有任何的市场。与其他平台系统的 互操作性(web service) 。企业老的系统通过webservice 进行交互,java,.net 都有成熟的解决方案。版本演进。 php6一而再再而三被延迟发布。语言被创造时候的基因。 >(php -- 超文本预处理器的字母缩写)(感谢@张画虫),显然主要是为了网页而生,当然这个历史很久了,不过从历史可以看出某些语言设计的初衷,而这些都会成为语言的基因,会随着语言的发展一直继承下来维护成本
因为蕴含了太多的hack,太多的全局函数,魔术变量,各种不统一,维护成本非常高
php语言本身的特性不足一支撑一个框架所要表达的思想,导致的结果就是各种框架满天飞,质量参差不齐。
> ( 借用 @王小一 的话 )拿官方的zend framework来说,我感觉它更像一个啥代码生成器,好多故弄玄虚的东西。用zend framework的时候,我感觉不是在编写一个网站而是感觉在用java或是c#编写一个软件。完全没有php那种感觉。比起zend framework,symfony做得有过之而无不及。就像android在linux上面自己做一个层一样,这些框架貌似想在php基础上自己再搞个层出来。php本来是一种非常高级的语言,这些框架却有把它变成底层语言的意思。
至于php的优势就是成熟web产品,各种cms,还是很有价值的,比如wordpress。
用框架写运用确实太方便
不喜欢框架可以不用啊php简单易用,恐怕是很早以前的说法了。对一个php新手来说,如果不借助一个框架,写一个可靠的应用是很困难的。
