PHP命名空间 - 使用相同名称声明类

3

一个PHP父脚本可以require两个类,这两个类都有相同的类名吗?

我知道,默认情况下这会导致错误,因此我一直在研究命名空间。我不想将命名空间硬编码到类文件中,因为它不灵活且取决于编写类的人,我更喜欢以下方式。

// Define namespace
require_class('a.class.php');

// Define new namespace
require_class('b.class.php');

提前感谢您

1个回答

2
您不被允许以这种方式定义命名空间。
请参考命名空间的定义

使用namespace关键字声明命名空间。包含命名空间的文件必须在任何其他代码之前在文件顶部声明命名空间,有一种例外情况:declare关键字。

您可以在同一个文件中定义多个命名空间,但是该命名空间中的类也应该放置在该文件中。
您可以考虑使用命名空间:别名/导入,允许开发人员为类指定初始命名空间。

谢谢回复,我已经阅读了手册,所以才提出这个问题。我有一个Modules/Controller.php文件,它需要两个可能具有相同类名的不同模块的文件,所以我在解决方案上有些困惑。 - Lee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接