Как я могу использовать set и get со статической частной собственностью в php

#php

Вопрос:

Я хотел бы сохранить значение статического свойства в программе, поэтому использую set и получаю доступ к статическому свойству.

 <?php

class Usuario {
    //
    private static $usuarioStatico;
    //
    function getUsuarioStatico() {
        return $this->usuarioStatico;
    }
    function setUsuarioStatico($usuarioStatico) {
        $this->usuarioStatico = $usuarioStatico;
    }
}
 

Ответ №1:

Вы не можете использовать $this-> статическое свойство, так как оно является ссылкой на объект, а $usuarioStatico является свойством класса.

используйте self:: вместо этого:

 class Usuario {
    //
    private static $usuarioStatico = 1;
    //
    function getUsuarioStatico() {
        return self::$usuarioStatico;
    }
    
    function setUsuarioStatico($usuarioStatico) {
        self::$usuarioStatico = $usuarioStatico;
    }
}

$u = new Usuario();

echo $u->getUsuarioStatico(); // Output 1
$u->setUsuarioStatico(2);
echo $u->getUsuarioStatico(); // Output 2
 

Комментарии:

1. Спасибо, что обновили мой код… но если я изменю страницу, я потеряю набор значений и снова получу 1 вместо 2. Я хотел бы сохранить это значение 2 на всех страницах, пока я не сброшу его обратно на 1.