<?php
abstract class A
{
/**
* @return A $this
*/
public function a()
{
echo 'AAAAA'.PHP_EOL;
return $this;
}
}
class B extends A {
/**
* @return B $this
*/
public function b()
{
echo 'BBBB'.PHP_EOL;
return $this;
}
}
$obj = new B();
$obj->a()
->b();
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/48XQt 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/48XQt on line 15
BBBB
AAAAA
BBBB
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/48XQt on line 21
BBBBPHP_EOL
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/48XQt on line 10
AAAAAPHP_EOL
Notice: Use of undefined constant PHP_EOL - assumed 'PHP_EOL' in /in/48XQt on line 21
BBBBPHP_EOL
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_CLASS in /in/48XQt on line 3
Process exited with code 255.