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