Нет способа изменить значение свойства по умолчанию после создания класса.И я почти уверен, что отражение тоже этого не допустит.
Вот что вы можете сделать вместо этого:
class MyClass
{
public static $default_test = 'foo';
public $test;
public function __construct()
{
$this->test = self::$default_test;
}
public function example()
{
return $this->test;
}
}
MyClass::$default_test = 'bar';
$test = new MyClass();
echo $test->example();
В основном, у вас есть статическое свойство, которое содержит значение по умолчанию, иконструктор устанавливает ему начальное значение свойства.
Демонстрация: https://3v4l.org/djn3T
Немного запутано, почему бы просто не передать значение конструктору класса,хоть.Но у тебя могут быть свои причины.