Проверка свойств при записи методом __set
Давайте будем проверять значения свойств
на соответствие определенному условию
с помощью метода __set:
<?php
class Test
{
private $prop1;
private $prop2;
public function __set($property, $value)
{
switch($property) {
case 'prop1':
// Если prop1 от 0 до 10:
if ($value > 0 and $value < 10) {
$this->$property = $value;
}
break;
case 'prop2':
// Если prop2 от 10 до 20:
if ($value > 10 and $value < 20) {
$this->$property = $value;
}
break;
default:
// Такого свойства нет
break;
}
}
public function __get($property)
{
return $this->$property;
}
}
?>