2001年(也许是2002年)的时候,get_object_vars()本来只返回定义的类中的属性值,改为了返回所有对象的属性值,当时是4.2.0 和4.2.1或者 4.1.1和4.1.2之间的变更。几个月之后在线docs中才提到这处更改,但版本发布的时候却只字未提。这在当时对我的项目产生了很坏的影响,而且让我们花费了很长时间去查找原因。
让我苦恼的不是php中出现的这些bug,而是在发生了几次之后这样的事情继续发生着。我们知道有一个php qa团队,但我不认为他们的专业水平达到了让语言版本推陈出新的程度。看看他们的页面(http://qa.php.net/),貌似他们不认可php 5的存在(首页只提到了php 4.4x的发布),更何谈他们解决我上文所说的那些问题。
“问题未经公布,不得做任何关于php 内核的修改,包括bug和其他问题。”话是这么说,但除非看到最终发布的版本,否则我们很难真正知道php在发生什么。当我们看到release notes里的issues列表时,却发现只有部分有bug number。这说明了什么?包括我提到的php 5.2.5中的问题,php 5.2.5 release notes中也没有issue #,而只是提到“fixing a regression”,如果真的是一个regression,那也应当公开,而且release notes中应当提到公开在什么地方。