【问题标题】:PHP Namespace - Declare classes with the same namePHP 命名空间 - 声明具有相同名称的类
【发布时间】:2012-02-27 23:25:46
【问题描述】:

一个父 php 脚本是否需要两个类,每个类都定义了相同的类名。

我知道默认情况下这会导致错误,所以我一直在研究命名空间。我不想将命名空间硬编码到类文件中,因为它不灵活并且取决于编写类的人,我更愿意执行以下操作。

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

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

提前致谢

【问题讨论】:

    标签: php oop class namespaces


    【解决方案1】:

    不允许以这种方式定义命名空间。

    见Defining Namespaces:

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

    您可以在同一个文件中定义multiple namespaces,但该命名空间内的类也应该放在该文件中。

    您可以考虑Using namespaces: Aliasing/Importing 允许开发人员为类指定初始namespace。

    【讨论】:

    • 感谢您的回复,我已阅读手册,这就是我问这个问题的原因。我有一个 Modules/Controller.php 需要 2 个文件,这些文件可能具有来自不同模块的相同类名,所以我对解决方案有点坚持..
    猜你喜欢
    • 2013-06-05
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 2016-01-04
    • 2011-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多