假设我有以下情况:
File1.php:
<?php
require_once('init.php');
...
?>
Run Code Online (Sandbox Code Playgroud)
File2.php:
<?php
require_once('init.php');
...
?>
Run Code Online (Sandbox Code Playgroud)
的init.php:
<?php
magic_function_which_tells_me_which_file_parsed_this_file();
...
?>
Run Code Online (Sandbox Code Playgroud)
我知道这是一个长镜头,但有没有办法从init.php中知道当前执行中哪个文件包含init.php?
即使没有函数,您也可以使用debug_backtrace来查找调用者:
测试1.php
<?php
echo 'test1';
include 'test2.php';
Run Code Online (Sandbox Code Playgroud)
测试2.php
<?php
echo 'test2';
print_r(debug_backtrace());
Run Code Online (Sandbox Code Playgroud)
输出
ABCArray
(
[0] => Array
(
[file] => /tmp/b.php
[line] => 3
[function] => include
)
[1] => Array
(
[file] => /tmp/a.php
[line] => 3
[args] => Array
(
[0] => /tmp/b.php
)
[function] => include
)
)
Run Code Online (Sandbox Code Playgroud)
无论如何,我不建议使用它,因为过度使用时它可能会明显拖累性能。
| 归档时间: |
|
| 查看次数: |
130 次 |
| 最近记录: |