我有一个文件info.php
以下功能创建的页面加载过程中调试变量&数据如何从其他类使用PHP魔术常量?
class Info {
static function watch($what,$msg='',$more=FALSE)
{
echo "<hr/>";
echo "<br/>".$msg.":";
if(is_array($what) || is_object($what))
{
echo "<pre>";
print_r($what);
echo "</pre>";
}
else{
echo $what;
}
if($more)
{
echo "<br/>METHOD:".__METHOD__;
echo "<br/>LINE:".__LINE__;
}
}
}
现在我把这个方法从另一页index.php
,在那里我在这个文件我想inculded info.php
调试POST阵列,所以我下面写代码
class Testpost {
__construct() { // some basic intializtion }
function getPostdata($postarray) {
$postarray=$_POST;
Info::watch($postarray,'POST ARRAY', TRUE);
}
一切正常,但方法和LINE下面出现
METHOD:Info::watch();
LINE:17 // (where this code is written in Info class)
但我wantbelow显示
METHOD: Testpost::gtPostdata()
LINE:5(where this function is called in Testpost class)
让我怎么做,如果我在watch()
把$more=TRUE
则方法和行号应该从类是diaply它被调用。
我可以使用self::
或parent::
的手表方法吗?或别的什么 请建议我如何从其他类调用魔术常量还是有任何其他方法来调试varaibale? (请不要建议使用Xdebug
或任何其他工具)
为什么ü使用了'$回溯[1]',我们不能用'$回溯[0]'??? 我想如果我使用'$ backtrace [0] ['line']',那么它会给出正确的行号 – JustLearn 2010-08-12 07:18:04
'$ backtrace [0]'它是“你自己”,就像这个类本身一样。 '$ backtrace [1]'显示调用方法的信息被调用 – 2010-08-12 07:28:48