命名空间类名称包含冲突

用户名

我正在建立一个使用与包含在名称空间中的类相同的类名的名称空间。

require_once 'MyClass.php'; // already declares a class MyClass

namespace foo;

class MyClass {}
class MySubClass extends MyClass {}

在没有得到“您无法重新声明课程...”的情况下,我该怎么做呢?

杰克

首先,名称空间声明必须是第一条语句;当您执行此操作时,它将起作用:

namespace foo;

require_once 'MyClass.php'; // already declares a class MyClass

class MyClass {}
class MySubClass extends MyClass {}

现在,\MyClass引用您在其中声明的类MyClass.php(假设它是在没有特定名称空间的情况下声明的),而MyClass引用了当前名称空间中的那个类。

或者,您可以为其别名:

namespace foo;

use MyClass as StdMyClass;

require_once 'MyClass.php'; // already declares a class MyClass

class MyClass {}
class MySubClass extends MyClass {}

在这种情况下,StdMyClass可以视为的别名\MyClass

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

与多个名称空间发生命名冲突?

来自分类Dev

命名空间和函数名称冲突

来自分类Dev

名称空间和类之间的名称冲突

来自分类Dev

名称空间,类成员ADL冲突

来自分类Dev

类模板名称中的隐藏朋友与内联命名空间中的另一个符号冲突

来自分类Dev

大小写混合命名空间名称的冲突

来自分类Dev

并行命名空间冲突

来自分类Dev

Haskell命名空间冲突

来自分类Dev

命名空间包冲突

来自分类Dev

使用__autoload包含类并使用名称空间

来自分类Dev

C++ 包含、类命名空间和类实例化

来自分类Dev

Swift名称空间冲突

来自分类Dev

PHP命名空间函数冲突

来自分类Dev

如何在命名空间的Cython中包含C ++类?

来自分类Dev

Csharp命名空间不包含msdn指定的所有类

来自分类Dev

用相同的名称/命名空间实例化不同的类

来自分类Dev

如何动态常量化命名空间类的名称?

来自分类Dev

C ++唯一类名称与命名空间

来自分类Dev

C#命名空间问题:必须避免包含任何类名重叠的命名空间?

来自分类Dev

Javascript 包含命名空间

来自分类Dev

如何命名专用于仅包含仅包含静态字段的类的命名空间?

来自分类Dev

包名称的命名空间

来自分类Dev

在与模块相同的名称空间/与模块相同的名称下命名空间类的含义是什么

来自分类Dev

如何在Redis上命名空间键以避免名称冲突?

来自分类Dev

名称与类方法冲突

来自分类Dev

名称与类方法冲突

来自分类Dev

ctime std ::名称空间冲突

来自分类Dev

ctime std ::名称空间冲突

来自分类Dev

命名空间与嵌套类