包含文件(类),就好像它是在同一名称空间中声明的一样

时间:2017-12-23 10:59:00

标签: php namespaces

我想制作2个不同的个人插件(它们位于不同的文件夹中):

Addon1:

namespace addon1;
include(core.php);

Addon2:

namespace addon2;
include(core.php);
....

如您所见,每个包中都包含相同的重复core.php。其内容是:

<?php 
class coreFuncs{
    // ...... 
} 
?>

然而,当两个插件都被加载,并且它们运行相同的代码时,会出现致命错误(尝试重新定义已定义的类名)。我怎么能这样做,因为包含的coreFuncs类被视为在父命名空间内(而不是全局命名空间,因为它现在被处理)......

1 个答案:

答案 0 :(得分:0)

您可以改用include_once。它将检查文件是否已经运行并且不再包含它。虽然正确的方法是使用use,但我猜...