我試圖分析/重構/重寫一個複雜的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新手),但我的建議工作正常!非常感謝。 –