Как изменить статические свойства класса в PHP? - PullRequest
0 голосов
/ 21 декабря 2018

Рассмотрим следующий код:

class MyClass
{

    public static $test = 'foo';

    public function example()
    {
        return Self::$test;
    }

}

// What I'm trying to do
MyClass->$test = 'bar'; 

$test = new MyClass();
echo $test->example(); // Should return `bar` instead of `foo`.

Возможно ли это или что-то отдаленно близкое к этому в PHP?

1 Ответ

0 голосов
/ 21 декабря 2018

Вы на правильном пути, вам просто нужно получить доступ к переменной как Class :: $ test

class MyClass
{
    public static $test = 'foo';

    public function example()
    {
        return Self::$test;
    }
}

MyClass::$test = 'bar'; 

$test = new MyClass();
echo $test->example(); // returns bar
...