码迷,mamicode.com
首页 > 其他好文 > 详细

关于debug的一些小知识

时间:2021-06-21 20:27:25      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:friend   backtrace   new   方法   public   eve   tab   php   name   

一个大的项目,PHP会引用很多文件,有时候不知道文件在哪定义,有时候不知道在哪使用的,这就很麻烦。
PHP有系列的小函数可以使用:
查看方法/类在是怎么被调用的;
debug_backtrace(); //返回方法/类被调用的过程

<?php
// filename: /tmp/a.php

function a_test($str)
{
    echo "\nHi: $str";
    var_dump(debug_backtrace());
}

a_test(‘friend‘);
?>

<?php
// filename: /tmp/b.php
include_once ‘/tmp/a.php‘;
?>


Hi: friend
array(2) {
[0]=>
array(4) {
    ["file"] => string(10) "/tmp/a.php"
    ["line"] => int(10)
    ["function"] => string(6) "a_test"
    ["args"]=>
    array(1) {
      [0] => &string(6) "friend"
    }
}
[1]=>
array(4) {
    ["file"] => string(10) "/tmp/b.php"
    ["line"] => int(2)
    ["args"] =>
    array(1) {
      [0] => string(10) "/tmp/a.php"
    }
    ["function"] => string(12) "include_once"
  }
}


查看类/方法在哪个文件定义的
public ReflectionClass::getFileName(): string //系列函数,具体可以参考官方文档
public ReflectionFunction::getFileName(): string

<?php

$a = new \ReflectionClass(‘ZN\Database\InternalDB‘);

var_dump($a->getFileName());

// Output:  C:\xampp7\htdocs\develop\Internal\Database\DB\InternalDB.php


官方文档:https://www.php.net/manual/zh/reflectionclass.getfilename.php

关于debug的一些小知识

标签:friend   backtrace   new   方法   public   eve   tab   php   name   

原文地址:https://www.cnblogs.com/zzb-blogs/p/14911561.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!