Задать вопрос
@rak123

Правильные геттеры и сеттеры php?

Здравствуйте, делаю рандрмайзер для вывода статей случайным образом. В данном классе частично реализован функционал, но геттером выудить значение после задания его сеттером не получается(то есть гетом можно зацепить дефолтное значение переменной из класса, но вот если его изменить, гет перестает работать), как правильно вообще в php описывать get и set?
class Randomizer {
    public $getValue;
    public $randValue;
    
    public function getRandomContent()
    {
        
        return $this->getValue;
    }

    public function setRandomContent($randValue)
    {
        $randValue = mt_rand(0, 77);
        return $this->getValue = $randValue;
    }

   
}

$randomClass = new Randomizer;

$idContent = $randomClass->getRandomContent();
$idContent = $randomClass->setRandomContent($randValue);
  • Вопрос задан
  • 2446 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 3
DevMan
@DevMan
давайте включим мозг и немного подумаем: в вашем коде сначала идёт гетер и только потом сеттер. в этом вообще нет никакого смысла.
о смысле гетеров/сетеров для публичных полей Danny Chase уже высказался.
ооп - хорошая вещь. но, только, если вы понимаете что и зачем делаете, а не потому, что это стильно/модно/молодежно.
Ответ написан
Комментировать
Dase23
@Dase23
back-end developer
1. зачем вообще нужны геттеры и сеттеры если у вас все свойства класса публичные?) обратитесь к ним как к свойству объекта

$randomClass = new Randomizer;
$randomClass->getValue = 100;


и делайте с ними все что угодно)))
Ответ написан
Compolomus
@Compolomus Куратор тега PHP
Комполом-быдлокодер
Сеттер не должен возвращать ни чего, должен только делать присвоение, ну и как выше ответили, если имеются геттеры и сеттеры, значит свойства должны быть приватными и ни как иначе
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы