php命名空间问题,为什么f1(); 调用最近的那个空间的函数,他们都在同一个空间?

脚本叔叔
  • 50
<?php
namespace first;
function f1(){
    echo 'f1-1';
}
namespace second;
function f1(){
    echo 'f1-2';
}
f1();

//结果为什么输出f1-2, 难道他们都在同一个空间?就近原则?

回复
阅读 1.2k
2 个回答
上官元恒
  • 8.7k
✓ 已被采纳

单文件多命名空间最好使用{}来划分空间范围

你这写法,f1(); 明显就是在second 这个命名空间下,肯定调用的是第二个啊,哪有什么就近原则。 你在后面
echo __NAMESPACE__; 就知道了。

宣传栏