3v4l.org

run code in 500+ PHP versions simultaneously
<?php trait SimpleTrait { protected function foo() {} } class TraitFixtureWithFinal { use SimpleTrait { foo as final; } } $rm = new ReflectionMethod(TraitFixtureWithFinal::class, 'foo'); var_dump($rm->isFinal()); var_dump($rm->isPrivate()); var_dump($rm->isPublic()); var_dump($rm->isProtected());
Output for 8.3.2 - 8.3.33, 8.4.1 - 8.4.24, 8.5.0 - 8.5.9
bool(true) bool(false) bool(false) bool(true)
Output for 8.3.0 - 8.3.1
bool(true) bool(false) bool(false) bool(false)
Output for 8.1.0 - 8.1.34, 8.2.0 - 8.2.32
Fatal error: Cannot use 'final' as method modifier in /in/0PZvm on line 11
Process exited with code 255.

preferences:
67.14 ms | 968 KiB | 4 Q