用PHP

时间:2015-11-06 23:28:43

标签: php

我需要包含两个包含同名类的文件。当我使用namespaces找到answer时,我很有希望。但由于两个类都扩展了相同的父类,因此我收到一条错误消息,指出MyNamespce / Parent未找到。

MyClass.php

这是我无法改变的共享资源。

// MyClass.php
class MyClass extends Parent {
  const MY_CONST = 1;
  ...
}

MyNamespaceMyClass.php

我可以自行决定如何命名,但我希望将更改保持在最小,因为这是一个生成的文件。

// MyNamespaceMyClass.php
namespace MyNamespace;
class MyClass extends Parent {
   const MY_CONST = 2;
   ...
}

使用example.php

最后我使用类的代码:

// 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。有没有办法使用命名空间来导入同名的类,这些类也从同一个类扩展?

0 个答案:

没有答案