Re: static:: and PHP 7 (from bug #70997)

From: Date: Mon, 30 Nov 2015 12:47:26 +0000
Subject: Re: static:: and PHP 7 (from bug #70997)
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-89493@lists.php.net to get a copy of this message
> Am 30.11.2015 um 13:23 schrieb Andreas Heigl <andreas@heigl.org>: > > Am 30.11.15 um 13:18 schrieb Peter Cowburn: >> class A { >>> const TEST = false; >>> public function test() { >>> var_dump(static::TEST); >>> } >>> } >>> >>> class B extends A { >>> const TEST = true; >>> >>> public function test() { >>> A::test(); >>> } >>> } >>> >>> $b = new B; >>> $b->test(); >>> > You are calling explicitly A::test(). > > When you call parent::test() everything works as you'd expect it. > > Have a look at https://3v4l.org/RCrRd > > Apart from that you are calling an instance-method as a static method by > using A::test(). > > Cheers > > Andreas We do that, because we may not have any other choice, e.g. when calling a great-parents method. To then use LSB, we have to explicitly name our parent. This is now not possible anymore, and hence I’d consider this as a BC break at least, if not a bug. This definitely is not simply *not a bug*. Bob

« previous php.internals (#89493) next »