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尝试加载此文件并对其进行语法检查时,在代码运行之前不会设置名称空间。