Просмотр PHP-файла с включенными включениями

Есть ли инструмент, который покажет мне, как выглядит мой.php-файл ПОСЛЕ того, как "препроцессор" проходит через него и включает все файлы "include" и "require"? Другими словами, если у меня есть файл с именем "index.php":

<?php
#My root index page
include 'vars.php';
include 'header.php';
include 'body.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, и он ответил: "Это было бы очень полезно, но я никогда не видел ничего, что могло бы это показать".

1 ответ

Если вы хотите, вы можете создать свой собственный инструмент. Просто используйте 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() также получит все необходимые или требуемые файлы (см. Здесь). Единственным ограничением является то, что вы сможете видеть только текст или HTML-вывод, поэтому vars.php не будет иметь видимого содержимого. Если вы измените чистый php-файл, указав ему расширение.phps, вы можете увидеть исходный код PHP, который может быть выделен.

Другие вопросы по тегам