Я пытаюсь проанализировать / реорганизовать / переписать сложный сайт PHP. Хотя я могу работать с отдельными файлами, я хотел бы объединить все в один файл, чтобы я мог выяснить контекст, не переключаясь между файлами.
Есть ли способ с помощью PHP (исполняемого файла) или других инструментов
"встроенные" включения, возвращающие результат в виде одного файла PHP?
Я понимаю, что PHP не выполняет предварительную обработку включений, а вместо этого выполняет содержимое включаемых файлов по мере их поступления.
По сути, я ищу результат , как если бы предварительно обработанный PHP включает и требует перед выполнением.
Редактировать : Рабочее решение, основанное на предложении Дэна Гроссмана ниже. К сожалению, кодовая база, из которой я работаю, делает несколько хитрых трюков с include (), но это прекрасное начало.
<?php
function combinePhpFile($input) {
$myFile = file_get_contents($input[2]);
$myFile = preg_replace_callback('~\\b(include|require) "([^"]*)";~', 'combinePhpFile', $myFile);
return $myFile;
}
// preg_replace_callback wants an array? It GETS an array!
$result = combinePhpFile(array("dummy", "dummy", "index.php"));
file_put_contents("result.txt", $result);
?>