Re: BC break between PHP 5.6.5 and PHP 5.6.6
| From: | Benjamin Eberlei | Date: | Fri, 27 Feb 2015 08:24:06 +0000 |
| Subject: | Re: BC break between PHP 5.6.5 and PHP 5.6.6 | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-83976@lists.php.net to get a copy of this message | ||
On Fri, Feb 27, 2015 at 9:20 AM, Leigh <leight@gmail.com> wrote:
> On 27 February 2015 at 08:06, Sebastian Bergmann <sebastian@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
>
>