From:             
Operating system: Gentoo
PHP version:      5.4.0RC7
Package:          Reflection related
Bug Type:         Bug
Bug description:__FUNCTION__ doesn't report correctly in alias trait methods

Description:
------------
The __FUNCTION__ magic constant does not report correctly in aliased
methods 
within traits.


When a trait function is called by it's initial name __FUNCTION__ is
correct. 
When it is called by it aliased name __FUNCTION__ still reports as the
initial 
name, but debug_backtrace() reports the aliased method name.

Test script:
---------------
<?php
trait MyTrait {
        public function foo()
        {
                $backtrace = debug_backtrace();
                echo '__FUNCTION__ = ' . __FUNCTION__ . PHP_EOL;
                echo '$backtrace[0][\'function\']) = ' . 
$backtrace[0]['function'] .
PHP_EOL;
        }
}

class MyClass {
        use MyTrait { foo as public bar; }

}

$instance = new MyClass();
echo 'foo()' . PHP_EOL;
$instance->foo();
echo PHP_EOL;
echo 'bar()' . PHP_EOL;
$instance->bar();


Expected result:
----------------
foo()
__FUNCTION__ = foo
$backtrace[0]['function']) = foo

bar()
__FUNCTION__ = bar
$backtrace[0]['function']) = bar


Actual result:
--------------
foo()
__FUNCTION__ = foo
$backtrace[0]['function']) = foo

bar()
__FUNCTION__ = foo
$backtrace[0]['function']) = bar


-- 
Edit bug report at https://bugs.php.net/bug.php?id=61033&edit=1
-- 
Try a snapshot (PHP 5.4):            
https://bugs.php.net/fix.php?id=61033&r=trysnapshot54
Try a snapshot (PHP 5.3):            
https://bugs.php.net/fix.php?id=61033&r=trysnapshot53
Try a snapshot (trunk):              
https://bugs.php.net/fix.php?id=61033&r=trysnapshottrunk
Fixed in SVN:                        
https://bugs.php.net/fix.php?id=61033&r=fixed
Fixed in SVN and need be documented: 
https://bugs.php.net/fix.php?id=61033&r=needdocs
Fixed in release:                    
https://bugs.php.net/fix.php?id=61033&r=alreadyfixed
Need backtrace:                      
https://bugs.php.net/fix.php?id=61033&r=needtrace
Need Reproduce Script:               
https://bugs.php.net/fix.php?id=61033&r=needscript
Try newer version:                   
https://bugs.php.net/fix.php?id=61033&r=oldversion
Not developer issue:                 
https://bugs.php.net/fix.php?id=61033&r=support
Expected behavior:                   
https://bugs.php.net/fix.php?id=61033&r=notwrong
Not enough info:                     
https://bugs.php.net/fix.php?id=61033&r=notenoughinfo
Submitted twice:                     
https://bugs.php.net/fix.php?id=61033&r=submittedtwice
register_globals:                    
https://bugs.php.net/fix.php?id=61033&r=globals
PHP 4 support discontinued:          
https://bugs.php.net/fix.php?id=61033&r=php4
Daylight Savings:                    https://bugs.php.net/fix.php?id=61033&r=dst
IIS Stability:                       
https://bugs.php.net/fix.php?id=61033&r=isapi
Install GNU Sed:                     
https://bugs.php.net/fix.php?id=61033&r=gnused
Floating point limitations:          
https://bugs.php.net/fix.php?id=61033&r=float
No Zend Extensions:                  
https://bugs.php.net/fix.php?id=61033&r=nozend
MySQL Configuration Error:           
https://bugs.php.net/fix.php?id=61033&r=mysqlcfg

Reply via email to