3v4l.org

run code in 300+ PHP versions simultaneously
<?php trait T { protected function __construct() { parent::__construct(42); } } class A { public function __construct($v) { var_dump($v); } } class B extends A { use T; public function create() { return new self(); } } B::create();

preferences:
37.48 ms | 402 KiB | 5 Q