3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace hippos; trait test { public static function getClassName() { return 'hi hippo'; } } namespace lions; trait test { public static function getClassName() { return 'hi giraffe'; } } namespace girrafe; use lions\test; use hippos\test as hipposTest; class lemons { use hipposTest, test { test::getClassName insteadof hipposTest; } public function sup() { var_dump(method_exists('lemons', 'getClassName')); var_dump(method_exists(get_class(), 'getClassName')); var_dump(method_exists(get_class(), 'myGetClassName')); echo $this->getClassName(); echo $this->myGetClassName(); } } (new \girrafe\lemons)->sup();
Output for git.master, git.master_jit, rfc.property-hooks
bool(false) bool(true) bool(false) hi giraffe Fatal error: Uncaught Error: Call to undefined method girrafe\lemons::myGetClassName() in /in/Lmv0u:33 Stack trace: #0 /in/Lmv0u(37): girrafe\lemons->sup() #1 {main} thrown in /in/Lmv0u on line 33
Process exited with code 255.

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:
59.72 ms | 401 KiB | 8 Q