【发布时间】:2012-12-19 01:27:19
【问题描述】:
我知道默认情况下,函数调用将首先默认到当前命名空间,然后如果没有找到,将检查全局命名空间。有没有办法改变这种行为,也许使用“将某些东西用作其他东西”以便它只检查全局命名空间?
一个硬性规则是我不能修改命名空间内的函数调用。
例如在全局命名空间中
function get_something() {
return 1;
}
有问题的文件
namespace new;
$a = get_something();
function get_something() {
return 2;
}
我希望 $a 被评估为 1。有没有办法在不更新命名空间文件中的所有 $a = get_something() 引用的情况下做到这一点?
【问题讨论】:
-
为什么你写一个函数,当你不想使用它的时候?为什么你使用相同的函数名,当你看到,你不能以你喜欢的方式处理碰撞? (无论如何,在全局范围内像其他函数一样命名命名空间函数是一个坏习惯)
标签: php namespaces