Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP命名空间-声明具有相同名称的类_Php_Oop_Class_Namespaces - Fatal编程技术网

PHP命名空间-声明具有相同名称的类

PHP命名空间-声明具有相同名称的类,php,oop,class,namespaces,Php,Oop,Class,Namespaces,父php脚本是否需要两个类,每个类都使用相同的类名定义 我知道默认情况下这会导致错误,所以我一直在研究名称空间。我不想将名称空间硬编码到类文件中,因为这将是不灵活的,并且取决于编写类的人,我更愿意执行以下操作 // Define namespace require_class('a.class.php'); // Define new namespace require_class('b.class.php'); 提前感谢您不允许以这种方式定义名称空间 见: 名称空间是使用namespace

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

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

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

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

提前感谢

您不允许以这种方式定义名称空间

见:

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

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


您可以考虑允许开发人员为类指定初始<代码>命名空间< /代码>。谢谢您的回复,我已经阅读了手册,这就是为什么我要问这个问题。我有一个Modules/Controller.php,它需要两个文件,这些文件可能来自不同的模块,具有相同的类名,因此我对解决方案有点执着。。