9 Feb 22:36
[PHP-DEV] Bug #61033 __FUNCTION__ doesn't report correctly in alias trait methods
Marc Easen <marc <at> easen.co.uk>
2012-02-09 21:36:07 GMT
2012-02-09 21:36:07 GMT
Hello everyone, I've recently came across an odd situation where __FUNCTION__ can produce a misleading results when using traits with aliased methods, see https://bugs.php.net/bug.php?id=61033. <https://bugs.php.net/bug.php?id=61033> This has been closed and I've been asked start a discussion on here if I disagree with the ruling. The reason why I feel this should be changes to reflect the actual called function name is that one of main uses of the __FUNCTION__ constant it to refer back to the function that is currently running, for the use recursive functions: trait FooTrait { public function foo($n) { if ($n == 0) return; echo $n . PHP_EOL; $function = __FUNCTION__; $this->$function(--$n); } } class MyClass { use FooTrait { foo as public countdown; } public function foo() { echo 'MyClass::foo()'; } } $instance = new MyClass(); $instance->countdown(3);(Continue reading)
RSS Feed