【发布时间】:2017-05-20 04:39:06
【问题描述】:
是否可以使用变量调用命名空间?
例如:
$class_name = strtolower( $interface_name );
$return['html'] = \interfaces\$class_name::get_loginForm();
但是,这会返回错误:
解析错误:语法错误,意外的 '$class_name' (T_VARIABLE), 期望标识符 (T_STRING)
我正在连接几个 3rd 方 API,它们都做同样的事情,但以自己独特的方式。在加入我们的网站之前,用户已经连接到他们首选的 API。不同 API 的中间件将存储在同一命名空间下的定制文件中。
有可能解决在接口名称上运行开关并调用相关命名空间的问题,但这意味着每次出现新 API 时都必须定位并添加到开关,因此任何帮助这个问题将不胜感激。干杯。
【问题讨论】:
-
$return['html'] = '\\interfaces\\'.$class_name.''::get_loginForm();
标签: php class variables scope namespaces