Можете ли вы установить свойство постоянного класса внутри функции в PHP? - PullRequest
0 голосов
/ 11 июля 2020

Извините за странную формулировку заголовка.

Я хочу, чтобы у класса было свойство, которое можно просматривать, но не изменять, и я хочу установить его внутри функции.

Вот так :

class Foo {
    public int $bar;

    public function __construct(int $input) {
        if ($input < 4) {
            $this->bar = $input;
        }
    }
}

$foo = new Foo(2);
echo $foo->bar; // Returns 2
$foo->bar = 1   // Gives error

1 Ответ

0 голосов
/ 11 июля 2020

Да, это возможно и очень распространенная практика:

class Foo
{
    private $bar;

    public function getBar()
    {
        return $this->bar;
    }

    public function __construct() {
        // set $bar according to some logic
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...