<?php
trait BazTrait
{
public function handle()
{
echo __CLASS__, static::class, PHP_EOL;
}
}
class c1 {
use BazTrait;
public function do() { $this->handle(); }
}
class c2 {
use BazTrait;
public function do() { $this->handle(); }
}
class c3 extends c2 {
}
(new c1)->do();
(new c2)->do();
(new c3)->do();
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
c1c1
c2c2
c2c3
Output for 5.6.38
Parse error: syntax error, unexpected 'do' (T_DO), expecting identifier (T_STRING) in /in/PTqnX on line 14
Process exited with code 255.