note 90430 deleted from function.get-called-class by danbrown

From: Date: Wed, 22 Apr 2009 12:46:50 +0000
Subject: note 90430 deleted from function.get-called-class by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-153578@lists.php.net to get a copy of this message
Note Submitter: joel at geekoracle dot com ---- An enhancement to progman at centrum dot sk implementation of get_called_class(): <?php function get_called_class() { $bt = debug_backtrace(); // print_r($bt); if ( isset($bt[2]) ) { if ( isset($bt[2]['class']) ) { // handles self::someMethod() return $bt[2]['class']; } else { // handles call_user_func() and call_user_func_array() return $bt[2]['args'][0][0]; } } else { $lines = file($bt[1]['file']); preg_match('/([a-zA-Z0-9\_]+)::'.$bt[1]['function'].'/', $lines[$bt[1]['line']-1], $matches); return $matches[1]; } }

« previous php.notes (#153578) next »