我对PHP5.4的一个改进

  • 作者: Laruence( )
  • 本文地址: http://www.laruence.com/2011/09/23/2171.html
  • 转载请注明出处

插播个消息, 今天, 我终于获得了Zend的编辑权限, Zend是PHP源代码中最为核心的部分, 也是最为敏感的地方, 对于这部分的权限控制的一直很严格. 但也是我加入PHP开发组以后, 一直想得到的权限. :)

好了, 言归正传, 今天对PHP5.4的Zend引擎做了一个改进, 改进了参数不兼容的报警信息. 具体的来说:

对于如下的例子:


在目前大家一定会得到类似如下的错误信息:

PHP Fatal error:  Declaration of Sub::offsetSet() must be compatible
with that of ArrayAccess::offsetSet()

这里有个问题, 错误信息并没有告诉我们, 正确的参数应该是什么样子, 我们除了去查手册(或者看源代码), 没办法得知.

于是, 在开发组经过提议, 讨论之后, 我今天做了一个改进, 改进之后, 将会得到如下的错误信息:

Fatal error: Declaration of Sub::offsetSet() must be compatible with
ArrayAccess::offsetSet($offset, $value)

当然, 这个对用户自定的类也是有效的, 如下:


将会得到如下的错误信息:

PHP Fatal error:  Declaration of Sub::test() must be compatible with
Base::test(Foo $foo, array $bar, $option = NULL, $extra = 16777215)

reversion: http://svn.php.net/viewvc?view=revision&revision=317206


Comments

  • 2011/09/23, lanisle writes: 群管比群主给力多了,摸泄天天没正经的~
  • 2011/09/23, 林绍强 writes: 支持,中国phper的骄傲
  • 2011/09/24, kernel writes: 加上这功能吧 https://bugs.php.net/bug.php?id=34392
  • 2011/09/24, xLight writes: 如果我没理解错,看来5.4已经支持指定传入参数变量的类型了啊。 good news
  • 2011/09/24, 戴韬_雪心 writes: 5.3就已经支持指定传入参数变量的类型了……很隐蔽的方式,嗯
  • 2011/09/24, 小牛哥 writes: 非常好,很厉害啊。

Related posts:

  • 深入理解PHP原理之Session Gc的一个小概率Notice
  • PHP5.3 α2初体验
  • PHP5.4的新特性
  • Linux上配置Nginx+PHP5(FastCGI)
  • PHP RFC: 让PHP的foreach支持list

Copyright © 2010 风雪之隅 版权所有, 转载务必注明. 该Feed只供个人使用, 禁止未注明的转载或商业应用. 非法应用的, 一切法律后果自负. 如有问题, 可发E-mail至my at laruence.com.(Digital Fingerprint: 73540ba0a1738d7d07d4b6038d5615e2)

Related Posts:

  • 回答下在bugs.php上的一个问题
  • PHP的版本发布历程
  • Plua进入Pecl
  • Zend引擎的优化
  • PHP RFC: 让PHP的foreach支持list
  • Zend Parameters Parser新增类型描述符介绍
  • 如何调试PHP的Core之获取基本信息
  • PLua – Lua for PHP
  • 在中国PHP技术高峰论坛(2011)上演讲的PPT
  • 深入理解PHP原理之Session Gc的一个小概率Notice

你可能感兴趣的:(PHP应用,PHP源码分析,improve,PHP,zend)