On Fri, Feb 27, 2015 at 9:20 AM, Leigh <lei...@gmail.com> wrote:

> On 27 February 2015 at 08:06, Sebastian Bergmann <sebast...@php.net>
> wrote:
> >  While working on PHPUnit today I noticed one test of its own test
> >  suite failing on PHP 5.6.6 that passes on PHP 5.6.5. The details of
> >  this can be found at
> >
> >    https://github.com/sebastianbergmann/phpunit/issues/1630
> >
> >  Florian Margaine reduced the problem to the following minimal,
> >  self-contained, reproducing script:
> >
> >      1 <?php
> >      2 class Foo extends Exception
> >      3 {
> >      4     public function __construct()
> >      5     {
> >      6         $this->code = 123;
> >      7     }
> >      8 }
> >      9
> >     10 try
> >     11 {
> >     12     throw new Foo;
> >     13 }
> >     14
> >     15 catch (Exception $e)
> >     16 {
> >     17     assert($e->code === 123);
> >     18 }
> >
> >  The above script works as expected on PHP 5.6.5 but errors out on
> >  PHP 5.6.6:
> >
> >    PHP Fatal error: Cannot access protected property Foo::$code in
> >    /home/sb/exception.php on line 17
> >    PHP Stack trace:
> >    PHP   1. {main}() /home/sb/exception.php:0
> >
> >  I do not see a change in http://php.net/ChangeLog-5.php#5.6.6 that
> would
> >  explain this.
>
> Looking through git blames, this property has been protected for a long
> time.
>
> Possibly related (although not at all sure), Dmitry made some changes
> to zend_read_property()
>
>
> https://github.com/php/php-src/commit/3e31838d19750d287431d22e9290856ec962fd6a


Maybe Related to Reflection Accesibility? I suppose PHPUnit acceses the
private state somehow.


>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

Reply via email to