我想要包含一个包含我的应用程序中已存在的类的文件。显然这导致:
PHP Fatal error: Cannot redeclare class XYZ
由于我不会进入这里的原因,我无法更改相关文件的代码,也无法更改包含原始类的文件。出于这个原因,我并不认为命名空间是一种选择 - 尽管我对这个概念有点新意,所以我可能错了。
我意识到这不太可能是干净的。任何有关变通方法的想法都是受欢迎的。
答案 0 :(得分:0)
我会根据评论中提到的想法回答我自己的问题。
$path = "/path/to/include/file.php";
$className = "OriginalClassname";
$tempClass = "ReplacementClassname";
$buffer = file_get_contents($file);
$buffer = str_replace($className,$tempClass,$buffer);
$file = 'temp.php';
file_put_contents($file, $buffer);
include_once($file);
unlink($file);
简而言之:
像魅力一样工作。