У меня есть некоторые абстрактные знания ООП, но я впервые пытаюсь написать код ООП в PHP.Я хочу создать класс, который будет иметь некоторые атрибуты из конструкции, но некоторые атрибуты, которые динамически изменяются.
Я немного запутался во всех терминах (объекты, классы, методы, ...), поэтому я неточно знать, что искать.Я сделал упрощенный пример ниже.
Здесь я объявил свой класс, который примет 2 параметра при построении и вычислит третий, который является более высоким числом (пожалуйста, игнорируйте, что я не проверяю тип).
class test{
public function __construct($p1, $p2){
$this->p1 = $p1;
$this->p2 = $p2;
$this->p_max = max(array($this->p1, $this->p2));
}
}
Затем я инициализирую объект и проверяю p_max :
$test = new test(1,2);
echo $test->p_max; // Prints 2
Но если я изменю p1 и p2 , p_max не изменится:
$test->p1 = 3;
$test->p2 = 4;
echo $test->p_max; // Prints 2 (I want 4)
Как мне определить p_max внутри моего класса для обновления при каждом изменении p1 или p2 ?Есть ли способ, не превращая p_max в метод?