Php eval()命名空间别名不工作
我有以下代码:Php eval()命名空间别名不工作,php,namespaces,eval,Php,Namespaces,Eval,我有以下代码: <?php namespace namespace1{ function hi() { echo 'hi'; } hi(); } namespace { eval( 'use namespace1 as nm1;' ); // does not work // use namespace1 as nm1; // works nm1\hi(); } 我本以为eval()是运行时的事情,所以
<?php
namespace namespace1{
function hi()
{
echo 'hi';
}
hi();
}
namespace {
eval( 'use namespace1 as nm1;' ); // does not work
// use namespace1 as nm1; // works
nm1\hi();
}
我本以为eval()
是运行时的事情,所以当PHP尝试加载此文件并对其进行语法检查时,在代码运行之前不会设置名称空间。