3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace PHPUnit\TestFixture; use function set_error_handler; use function trigger_error; use PHPUnit\Framework\TestCase; class SomeExternalDependency { public function __construct() { set_error_handler([$this, 'logError']); $this->triggerError(); } public static function triggerError(): void { trigger_error('error', E_USER_WARNING); } private function logError(): bool { debug_print_backtrace(); return true; } } class Issue5844Test { public function testSetErrorHandlerNonCallable(): void { new SomeExternalDependency(); $callableWithPrivateMethod = set_error_handler(static fn () => false); restore_error_handler(); restore_error_handler(); set_error_handler($callableWithPrivateMethod); echo "\nii.\n"; SomeExternalDependency::triggerError(); echo "\niii.\n"; trigger_error('error', E_USER_WARNING); // $this->assertTrue(true); } } (new Issue5844Test())->testSetErrorHandlerNonCallable();
Output for git.master, git.master_jit, rfc.property-hooks
#0 [internal function]: PHPUnit\TestFixture\SomeExternalDependency->logError(512, 'error', '/in/GFd18', 19) #1 /in/GFd18(19): trigger_error('error', 512) #2 /in/GFd18(14): PHPUnit\TestFixture\SomeExternalDependency::triggerError() #3 /in/GFd18(35): PHPUnit\TestFixture\SomeExternalDependency->__construct() #4 /in/GFd18(51): PHPUnit\TestFixture\Issue5844Test->testSetErrorHandlerNonCallable() Fatal error: Uncaught TypeError: set_error_handler(): Argument #1 ($callback) must be a valid callback or null, cannot access private method PHPUnit\TestFixture\SomeExternalDependency::logError() in /in/GFd18:39 Stack trace: #0 /in/GFd18(39): set_error_handler(Array) #1 /in/GFd18(51): PHPUnit\TestFixture\Issue5844Test->testSetErrorHandlerNonCallable() #2 {main} thrown in /in/GFd18 on line 39
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:
26.44 ms | 406 KiB | 5 Q