在PHP中,是否可以在名称空间声明中使用别名名称空间,而不是名称空间导入?

在PHP中,是否可以在名称空间声明中使用别名名称空间,而不是名称空间导入?,php,oop,namespaces,Php,Oop,Namespaces,我正在用PHP在深层名称空间中编写类,但我希望它更易于访问。有没有办法在名称空间的定义中使用别名,而不是导入?如果是工作的话没关系 我想实现它,因为我手头上的代码中有一个非常非常常用的类,但将它完全移动到更浅的命名空间中并不是一个选项 我试着用谷歌搜索它,但我发现的只是导入名称空间别名,我在文档中也没有发现任何相关内容 定义文件: 名称空间\Something\Really\烦人\Deep为\MyClass 类MyClass{} 其他文件: 名称空间\某物\其他; 使用MyClass; $obj

我正在用PHP在深层名称空间中编写类,但我希望它更易于访问。有没有办法在名称空间的定义中使用别名,而不是导入?如果是工作的话没关系

我想实现它,因为我手头上的代码中有一个非常非常常用的类,但将它完全移动到更浅的命名空间中并不是一个选项

我试着用谷歌搜索它,但我发现的只是导入名称空间别名,我在文档中也没有发现任何相关内容

定义文件:

名称空间\Something\Really\烦人\Deep为\MyClass 类MyClass{} 其他文件:

名称空间\某物\其他; 使用MyClass; $obj=新的MyClass; 为了举例,我在这里使用AS。我知道它不会起作用,我的问题是,有没有可能让它以某种方式起作用?

不,不可能

别名只能在导入时声明,并且是基于文件的


如果你想一想,你就会意识到这是不可能的。如果这是可能的,那么就不会有任何收获,也会有很多东西被破坏。

您不需要在当前名称空间中导入。我不确定我是否理解你的问题。名称空间就像包一样,包含特定管辖范围内的类、接口等的列表。如果可以为它设置别名,那么首先不要提供名称空间。另一个原因是,您可以很容易地用相同的名称为2个名称空间别名。因此,现在PHP不知道您指的是哪一个。因此,如果您可以在定义时使用别名…该类将作为\MyClass进行访问…那么,您可以通过完全省略名称空间来实现这一点。重点是什么?我希望社区能证明我错了,告诉我有办法。