PHP 5中的調(diào)用者函數(shù)?是否有PHP函數(shù)來(lái)查找給定函數(shù)中調(diào)用方函數(shù)的名稱?
3 回答

海綿寶寶撒
TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊
$trace = debug_backtrace();$caller = $trace[1];echo "Called by {$caller['function']}";if (isset($caller['class'])) echo " in {$caller['class']}";

人到中年有點(diǎn)甜
TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊
<?php Class MyClass { function __construct(){ $this->callee(); } function callee() { echo sprintf("callee() called @ %s: %s from %s::%s", xdebug_call_file(), xdebug_call_line(), xdebug_call_class(), xdebug_call_function() ); } } $rollDebug = new MyClass();?>
callee() called @ /var/www/xd.php: 16 from MyClass::__construct
sudo aptitude install php5-xdebug
sudo aptitude install php5-dev

慕娘9325324
TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊
public function getCallingFunctionName($completeTrace=false) { $trace=debug_backtrace(); if($completeTrace) { $str = ''; foreach($trace as $caller) { $str .= " -- Called by {$caller['function']}"; if (isset($caller['class'])) $str .= " From Class {$caller['class']}"; } } else { $caller=$trace[2]; $str = "Called by {$caller['function']}"; if (isset($caller['class'])) $str .= " From Class {$caller['class']}"; } return $str; }
- 3 回答
- 0 關(guān)注
- 386 瀏覽
添加回答
舉報(bào)
0/150
提交
取消