有一个我需要扩展的项目.所有类都在单独的文件中,我需要扩展一些类,而不会重写其他文件中的现有代码.我的想法是使用命名空间,但我失败了.这是一个例子:
原文链接:https://www.f2er.com/php/131625.html我已将原来的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”.
如何完成这个