3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace Foo; trait aTrait { protected function one() { echo "a-one "; } public function two() { echo "a-two "; } public function three() { return defined('static::DELETED_AT') ? static::DELETED_AT : 'deleted_at'; } } namespace Bar; use Foo\aTrait as bTrait; trait aTrait { use bTrait { one as originalOne; two as originalGetQualifiedDeletedAtColumn; } protected function one() { echo "b-one"; $this->originalOne(); } public function two() { if (true) { return $this->three(); } $this->originalGetQualifiedDeletedAtColumn(); } } namespace Baz; use Bar\atrait; class Base { use aTrait; const DELETED_AT = 'DELETETIMESTAMP'; } class Test extends Base { public function __construct() { $this->one(); } } $test = new Test();
Output for git.master, git.master_jit, rfc.property-hooks
b-onea-one

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
40.89 ms | 401 KiB | 8 Q