我试图分析/重构/重写一个复杂的PHP网站。虽然我可以使用单独的文件,但我想将所有内容合并到一个文件中,以便我可以在不跳转文件的情况下找出上下文。你如何内联PHP包含/需要,或从几个生成一个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);
?>
好,很好的解决方案。你殴打我。 +1 – genesis
花了一段时间弄清楚了这一点(我是PHP新手),但我的建议工作正常!非常感谢。 –