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

千巷貓影
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
$trace = debug_backtrace();$caller = $trace[1];echo "Called by {$caller['function']}";if (isset($caller['class'])) echo " in {$caller['class']}";

慕哥6287543
TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(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

慕姐4208626
TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個(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)注
- 612 瀏覽
添加回答
舉報(bào)
0/150
提交
取消