<?php
abstract class A
{
/**
* @return A $this
*/
public function a()
{
return $this;
}
}
class B extends A {
/**
* @return B $this
*/
public function b()
{
return $this;
}
}
$obj = new B();
$a->a()
->b();
Warning: Undefined variable $a in /in/1FMWG on line 25
Fatal error: Uncaught Error: Call to a member function a() on null in /in/1FMWG:25
Stack trace:
#0 {main}
thrown in /in/1FMWG on line 25
Process exited with code 255.
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; A has a deprecated constructor in /in/1FMWG on line 3
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; B has a deprecated constructor in /in/1FMWG on line 14
Notice: Undefined variable: a in /in/1FMWG on line 25
Fatal error: Uncaught Error: Call to a member function a() on null in /in/1FMWG:25
Stack trace:
#0 {main}
thrown in /in/1FMWG on line 25
Process exited with code 255.
Output for 7.3.32 - 7.3.33
Fatal error: Uncaught Error: Call to a member function a() on null in /in/1FMWG:25
Stack trace:
#0 {main}
thrown in /in/1FMWG on line 25
Process exited with code 255.
Output for 7.0.0 - 7.0.4
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; A has a deprecated constructor in /in/1FMWG on line 3
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; B has a deprecated constructor in /in/1FMWG on line 14
Notice: Undefined variable: a in /in/1FMWG on line 25
Fatal error: Uncaught Error: Call to a member function a() on unknown in /in/1FMWG:25
Stack trace:
#0 {main}
thrown in /in/1FMWG on line 25
Process exited with code 255.
Output for 5.6.7 - 5.6.28
Notice: Undefined variable: a in /in/1FMWG on line 25
Fatal error: Call to a member function a() on null in /in/1FMWG on line 25
Process exited with code 255.
Notice: Undefined variable: a in /in/1FMWG on line 25
Fatal error: Call to a member function a() on a non-object in /in/1FMWG on line 25
Process exited with code 255.
Output for 5.0.0 - 5.0.3
Notice: Undefined variable: a in /in/1FMWG on line 25
Fatal error: Call to a member function a() on a non-object in /in/1FMWG on line 25
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_CLASS in /in/1FMWG on line 3
Process exited with code 255.