php-使函数在命名空间中可用

php-使函数在命名空间中可用,php,namespaces,autoload,Php,Namespaces,Autoload,我对php名称空间有点陌生,我想知道以下是否可行: 我有一个函数my_函数,我希望它只在单个名称空间的类中可用 例如,在helpers.php文件中 在文件中 在文件B中 在文件中 有没有办法让函数my_函数在类a和B中可用,但在类C中不可用 更好地理解这个概念是一种好奇心。不,这不是名称空间的用途 如以下文件所述: 在PHP世界中,名称空间旨在解决库和应用程序作者在创建可重用代码元素(如类或函数)时遇到的两个问题: 创建的代码与内部PHP类/函数/常量或第三方类/函数/常量之间的名称冲突。 能

我对php名称空间有点陌生,我想知道以下是否可行:

我有一个函数my_函数,我希望它只在单个名称空间的类中可用

例如,在helpers.php文件中

在文件中

在文件B中

在文件中

有没有办法让函数my_函数在类a和B中可用,但在类C中不可用


更好地理解这个概念是一种好奇心。

不,这不是名称空间的用途

如以下文件所述:

在PHP世界中,名称空间旨在解决库和应用程序作者在创建可重用代码元素(如类或函数)时遇到的两个问题:

创建的代码与内部PHP类/函数/常量或第三方类/函数/常量之间的名称冲突。 能够别名或缩短超长名称,旨在缓解第一个问题,提高源代码的可读性。 PHP名称空间提供了一种对相关类、接口、函数和常量进行分组的方法

关于您的代码:如果helpers.php文件中没有名称空间,那么my_函数将添加到中,并且可以在应用程序中的任何地方调用

如果在fileA中声明函数,则可以使用\my\u namespace\my\u函数从应用程序中的任何位置调用该函数

function my_function() {
    return 'something';
}
namespace my_namespace
class A {}
namespace my_namespace
class B {}
namespace other_namespace
class C {}