[英]Incorrect access to static class member
我有以下代码
class DataMapperFactoryBeta
{
static private $configClassName = 'ConfigBeta';
static private $client;
static private $mapper = [];
static public function initClient()
{
$className = 'Models\\DataMappers\\Clients\\'.self::$configClassName::$db_type;
}
}
解释器向我抛出一个致命错误:“对静态类成员的不正确访问”。 我希望动态访问配置类名称,因为将来我会更改它,并且我不想通过$ configClassName在代码的很多地方仅一次更改它。 使用静力学甚至可能吗?
将您的行分成两部分,它应该可以为您工作:
$className = 'Models\\DataMappers\\Clients\\' . self::$configClassName;
$className = $className::$db_type;
附带说明一下,我在PHP文档中找不到范围解析运算符( ::
是左还是右关联。 可能是它试图按以下方式解释该行:
('Models\\DataMappers\\Clients\\'.self::($configClassName::$db_type));
没有文档的更新,代码在编写方式上究竟应该发生什么是模棱两可的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.