PHP 命名空间可以包含变量吗?

2022-08-30 08:55:17

PHP 命名空间可以包含变量吗?如果是这样,如何做到这一点?


答案 1

不。可以在声明命名空间后设置变量,但变量将始终存在于全局作用域中。它们从不绑定到命名空间。您可以从中没有任何名称解析说明中推断出这一点

也不允许使用语法在命名空间中查找变量。

print \namespace\$var;      // syntax error

print "${namespace\\var}";  // "unexpected T_NS_SEPARATOR"

答案 2

试试这个

<?php
namespace App\login; 

$p = 'login';
$test2 = '\App\\'.$p.'\\MyClass';

$test = new $test2;

推荐