查看包含在内的PHP文件

查看包含在内的PHP文件,php,php-include,Php,Php Include,有没有一个工具可以告诉我,在“预处理器”经过并包含所有“包含”和“需要”文件后,我的.php文件是什么样子的?换句话说,如果我有一个名为“index.php”的文件: 如果文件是: vars.php: <?php SITENAME = "MySite"; $where = "here"; include 'ThatOne.php'; ?> header.php: <!DOCTYPE html> <html lang="en" dir="ltr">

有没有一个工具可以告诉我,在“预处理器”经过并包含所有“包含”和“需要”文件后,我的.php文件是什么样子的?换句话说,如果我有一个名为“index.php”的文件:


如果文件是: vars.php:

<?php
SITENAME = "MySite";
$where =  "here";
include 'ThatOne.php';
?>

header.php:

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<title>My page</title>
</head>

我的页面
body.php:

<?php
print "<body>\n";
print "<H1>Hello World</H1>\n";
print "</body>\n";
?>

ThatOne.php

<?php
$ThatOne =  "This One";
?>

我希望能够看到此页面生成的工作页面如下所示:

<?php
#My root index page
SITENAME = "MySite";
$where =  "here";
$ThatOne =  "This One";
?>
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<title>My page</title>
</head>
<?php
print "<body>\n";
print "<H1>Hello World</H1>\n";
print "</body>\n";
?>

我的页面
这显然是一个做作的例子,但我正在使用一个包含嵌套深度约为4的站点,我希望确保PHP所使用的是我希望它使用的


我对PHP相当陌生,但我问了一位同事这个问题,他也在使用PHP,他的反应是“那真的很有用,但我从来没有看到任何东西能证明这一点。”

如果您愿意,您可以创建自己的工具。只需使用get_included_files和file_get_contents,如下所示:

<?php
#My root index page
include 'vars.php';
include 'header.php';
include 'body.php';
$included_files = get_included_files();

foreach ($included_files as $filename) {
    echo file_get_contents( $filename );
}
?>


根据手册,get_included_files()也将获取任何必需或必需的_once文件(请参阅)。唯一的限制是您只能看到文本或HTML输出,因此vars.php不会有可见的内容。如果您更改一个纯php文件的扩展名为.phps,那么您可以看到可以突出显示的php源代码。

我用于此的工具是我的大脑和一个好主意如果您正确地包含所有文件,按照您希望编译的顺序,它将按照您描述的顺序加载。如果您在上有错误,它将告诉您某个组件丢失或未正确包含,或者您有什么。@Dagon,如果我的大脑出现故障,我将切换到XDebug;)@PetervanderWal你需要Brain 2.0(有7种颜色)@Dagon我还在测试版上:(
<?php
#My root index page
include 'vars.php';
include 'header.php';
include 'body.php';
$included_files = get_included_files();

foreach ($included_files as $filename) {
    echo file_get_contents( $filename );
}
?>