有一个我需要扩展的项目.所有类都在单独的文件中,我需要扩展一些类,而不会重写其他文件中的现有代码.我的想法是使用命名空间,但我失败了.这是一个例子:
我已将原来的A.php类文件重命名为A_Original.php:
class A
{
public function hello()
{
echo "hello world from Class A\n";
}
}
然后创建了一个新的A.php:
namespace AOriginal {
include 'A_Original.php';
}
namespace {
class A
{
public function hello()
{
echo "hello world from Class A Extended\n";
}
}
}
这会失败,因为包含原始的A_Original.php文件,该类将转储到全局范围(因此忽略了命名空间命令).
我不能修改A_Original.php文件中的现有代码,但重命名就可以了.
其他项目文件(我不能修改)使用一个require“A.php”.
如何完成这个