Я пытаюсь создать простую конфигурационную систему в php, где вы можете просто расширить базу и поместить данные в дочерний класс, а родительский дескриптор все для вас. Я позволю коду говорить сам за себя. Однако, когда я пытаюсь это сделать, дочерний класс не изменит родительскую переменную.Изменить родительскую переменную из дочернего класса
Родитель класс
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;
}
}
класс Child
class Database extends ConfigBase {
protected static $data = [
'host' => 'localhost',
'username' => 'root',
'password' => '',
'database' => '',
'port' => 3306
];
}
Выход:
// NULL
echo Database::Get('host');
Есть ли способ/обходной путь/хак для достижения этой цели?