我正在建立一个使用与包含在名称空间中的类相同的类名的名称空间。
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] 删除。
我来说两句