我需要包含两个包含同名类的文件。当我使用namespaces
找到answer时,我很有希望。但由于两个类都扩展了相同的父类,因此我收到一条错误消息,指出MyNamespce / Parent未找到。
这是我无法改变的共享资源。
// MyClass.php
class MyClass extends Parent {
const MY_CONST = 1;
...
}
我可以自行决定如何命名,但我希望将更改保持在最小,因为这是一个生成的文件。
// MyNamespaceMyClass.php
namespace MyNamespace;
class MyClass extends Parent {
const MY_CONST = 2;
...
}
最后我使用类的代码:
// example.php
require_once 'MyClass.php';
require_once 'MyNamespaceMyClass.php';
/**
* Converts My Class into the newer version.
*
* @param MyClass $my_class.
* @return MyNamespace\MyClass
*/
function convert_myclass(MyClass $my_class) {
$new_my_class = new MyNamespace\MyClass();
...
return $new_my_class;
}
问题是我得到Fatal error: Class 'MyNamespace\MyClass' not found in MyNamespaceMyClass.php
。有没有办法使用命名空间来导入同名的类,这些类也从同一个类扩展?