PHP社区的当前状态如何?

PHP社区的当前状态如何?,php,Php,PHP5在2004年问世。PHP5.2于2006年底上线。从那时起,除了PHP5.3的增量bug版本和beta版本外,什么都没有。从那时起已经两年半了,尽管PHP5.3确实包含了一些新的有趣特性,但它们并没有那么具有革命性 我已经使用PHP七年了,但最近它开始感觉到 社区出了严重问题。对于社区,我并不是指整个PHP社区(在过去几年中,我们在框架开发方面看到了很多进展),而是指一个比较小的小组,负责所有实际的开发。我指的是新闻组名称php.internals 就我个人而言,我从来都不是这个小组的积

PHP5在2004年问世。PHP5.2于2006年底上线。从那时起,除了PHP5.3的增量bug版本和beta版本外,什么都没有。从那时起已经两年半了,尽管PHP5.3确实包含了一些新的有趣特性,但它们并没有那么具有革命性

我已经使用PHP七年了,但最近它开始感觉到 社区出了严重问题。对于社区,我并不是指整个PHP社区(在过去几年中,我们在框架开发方面看到了很多进展),而是指一个比较小的小组,负责所有实际的开发。我指的是新闻组名称php.internals

就我个人而言,我从来都不是这个小组的积极参与者,但我以前很仔细地阅读过,我的印象是,有很多内部冲突和摩擦,阻碍了进步。许多想法和建议没有经过认真考虑就被否决了,因为有很多“因果报应”的人不喜欢它,当达成协议时,似乎是没有人真正喜欢的妥协。一个很好的例子是名称空间分隔符“\”的选择,这似乎是每个人都不喜欢的选择


仅仅是我,还是冲突和紧张从内部摧毁了PHP?PHP是否存在我认为在开源项目中常见的管理问题?你是如何处理这些问题的?

我已经用PHP编程10年了。长期以来,我一直对PHP的各种限制(糟糕的引用处理和完全缺乏指针,以及非常混乱和不一致的库)感到恼火,我决定切换到Python和wsgi。使我处于边缘的是使用反斜杠作为分隔符的新名称空间

zend并没有真正尝试改进他们的产品,而是不断地在产品上钉上新的东西,而这种产品本来就不应该像现在这样使用


我做这一切都知道我基本上是在浪费多年的工作。。但是我觉得PHP的未来不是很好。。同样糟糕的是,我花了3年时间开发了一个PHP框架,我在我创建的许多网站上都使用了这个框架。超过70000行代码现已过时:(

< p>你希望语言变化的速度有多快?我猜C++是完全死了的,因为它们在10年内没有更新。Perl 6是永远的公爵,对吧?” Python:2000年为2.0,2008年为2.6。这是一个12-15个月的周期。 PHP:2004年为5.0,2009年为5.3。这是一个15-18个月的周期。 Java:1996年为1.0,2008年为1.6。这是一个18-24个月的周期


语言开发很难。快速开发并不能让它变得更容易。

我认为是时候有人分叉PHP并创建一个PHP Lite版本了。每一个长期运行的开源项目都达到了这个阶段。看看Netscape,它变得臃肿不堪,直到有人出现并创建了FireFox的Lite版本。同样的情况也发生在MySQL。如果有人为了保存PHP也这么做,那就太好了。

这是一个合理的问题,但你可能应该用一个不那么主观的标题重新制作它。呃……我相信大家已经准备好发布PHP6了,它有一些疯狂的新特性,比如后期静态绑定,同时维护PHP5。“从内部腐烂”是一种夸大其词。我同意。我把它改成了更中性的东西。@Emil删除这一个,然后重新制作一个。我将按照选民的决定生活。:)我真的不想争论。相反,我想认为这是基于观察,我提出这个问题是出于真正的担忧……我不是说你改变了对PHP的看法是错误的,而是反斜杠字符把你推到了边缘?谈谈打破骆驼背的稻草吧……这是错误的只有一个字符,我真的看不出有什么大不了的。我不认为这会导致人们放弃PHP,但反斜杠名称空间分隔符有点不可靠。拿这个:$func=“foo\bar”;$x=$func();func是指名称空间foo中的bar函数还是指名为foo{bell}的函数全局名称空间中的ar?当您能够通过这样的字符串调用函数时,重复使用字符转义字符作为分隔符是错误的。想象一下,您打算在字符串中传递相同的内容来创建函数或eval?
\b
不会被解释为字符串中的任何内容。“foo\bar”“计算为文本字符串
foo\bar
,该字符串不是有效的函数名。我没有访问5.3的权限,所以还没有测试它是否会被解析为
foo
命名空间下的
bar()
函数。另外,我不明白PHP为什么需要指针,它不是那种语言。等等,Python在这些方面做得更好?我想是C。2000年推出,2009年推出4.0。这是每两年一次的新革命。我可能落后了2个周期,疯狂地尝试学习所有新东西,但至少我是一个很酷的团队。耶!这是一个很好的观点。我宁愿让他们偶尔发布好的版本,而不是大量发布。唯一真正的问题是功能列表。如果减少函数列表(并修复调用参数,使其有意义),最终会导致不兼容。每一个不兼容都是进入的障碍,使您的PHP Lite不那么吸引人。你必须决定是什么让它变得更简洁。您是返回PHP的过程历史记录还是添加更多OOP(字符串和数组可以是OOP)?您是否向基础添加UTF支持?变量太多。转换到“PHPLite”(坏名字)比转换到完全不同的语言(比如Python)(顺便说一句,我个人不喜欢Python的语法)更容易。