一尘不染

在函数内部使用php名称空间

php

尝试在自己的函数中使用名称空间时出现解析错误

require('/var/load.php');

function go(){

  use test\Class;

    $go = 'ok';
    return $go;
}

    echo go();

阅读 289

收藏
2020-05-29

共1个答案

一尘不染

导入的作用域规则

use关键字必须在文件的最外部作用域(全局作用域)中或在名称空间声明中进行声明。这是因为导入是在编译时而不是在运行时完成的,因此无法进行块作用域

因此,您应该这样放置,使用应该在全局级别上指定

require('/var/load.php');
use test\Class;

function go(){
    $go = 'ok';
    return $go;
}
echo go();
2020-05-29