Re: Re: static:: and PHP 7 (from bug #70997)
| From: | Rowan Collins | Date: | Mon, 30 Nov 2015 14:48:59 +0000 |
| Subject: | Re: Re: static:: and PHP 7 (from bug #70997) | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-89499@lists.php.net to get a copy of this message | ||
Andreas Heigl wrote on 30/11/2015 12:23:
Am 30.11.15 um 13:18 schrieb Peter Cowburn:This appears to be the crucial thing: if you declare the test() method as static in both classes, it returns false in all versions: https://3v4l.org/hJoor It's almost like A::test() is now interpreted as a static call, rather than a "scope resolution" of the instance method, but $this is still available, so it's not quite as simple as that: https://3v4l.org/qbT3j Regards, -- Rowan Collins [IMSoP]class A {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().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();