Просмотр 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, который может быть выделен.