标签: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
标签:friend backtrace new 方法 public eve tab php name
原文地址:https://www.cnblogs.com/zzb-blogs/p/14911561.html