Php 从子类更改父变量
我正在尝试用php构建一个简单的配置系统,在这个系统中,您可以扩展基类并将数据放入子类中,父类为您处理所有事情。我会让代码自己说话。但是,当我尝试这样做时,子类不会更改父变量 父类Php 从子类更改父变量,php,Php,我正在尝试用php构建一个简单的配置系统,在这个系统中,您可以扩展基类并将数据放入子类中,父类为您处理所有事情。我会让代码自己说话。但是,当我尝试这样做时,子类不会更改父变量 父类 class ConfigBase { protected static $data = []; public static function Get($name) { if(!isset(self::$data[$name])) { r
class ConfigBase {
protected static $data = [];
public static function Get($name)
{
if(!isset(self::$data[$name]))
{
return null;
}
return self::$data[$name];
}
public static function Set($name, $value)
{
self::$data[$name] = $value;
}
}
儿童班
class Database extends ConfigBase {
protected static $data = [
'host' => 'localhost',
'username' => 'root',
'password' => '',
'database' => '',
'port' => 3306
];
}
输出:
// NULL
echo Database::Get('host');
有没有办法/解决方法/破解方法来完成这一点?将
self
更改为static
当您使用self
时,它将始终计算到您定义作业的类。有关详细信息,请参阅
或者去掉静态属性,使用实例变量和方法。这样,您就不局限于一种特定类型的配置