为什么不支持将PHP函数导入当前命名空间

时间:2013-07-01 19:23:41

标签: php php-internals

根据PHP documentation

  

PHP命名空间支持三种别名或导入:别名类名,别名接口名和别名命名空间名。请注意,不支持导入函数或常量。

有没有人知道为什么不支持导入函数或常量的历史或技术背景?

1 个答案:

答案 0 :(得分:1)

我联系了Jochem Maas(作者of this five year old RFC),虽然他犹豫不决指出一个原因(可以理解,因为他目前没有深入参与命名空间系统),他的三个因素是< / p>

  1. 类名碰撞比函数名碰撞更像是一个现实世界的问题

  2. PHP函数和类存在于引擎代码的不同区域,解析出use语句中存在的技术障碍。

  3. 对如何处理自动装带器以及特定功能的导入/别名存在一些不确定/不同意见。 (自动加载器,一个单独的系统,仅适用于类)

  4. 最后,PHP的实用主义赢了,这就是为什么我们拥有今天的命名空间系统。