Как создать защищенный от изменения объект?

koza4ok

Как создать защищенный от изменения объект,чтобы не можно было добавлять/удалять/изменять свойства? Есть какие приемы для решение данной ситуации? Буду рад отдельным кускам кода или частичных решений
4 ответа

koza4ok

свойства сделайте приватными или защищенными, а также пропишите __get() и __set() методы


koza4ok

свойства сделайте приватными или защищенными, а также пропишите __get() и __set() методы
Но свойство можно новое добавить.Можно как -то отследить изменение объекта?Жаль нету магических методов для этого.


koza4ok

class MyClass
{
    private $a =1;
    
    function __set($property, $value)
    {
        throw new Exception('ERROR');
    }
}
 
$o = new MyClass();
$o->b = 0;
добавьте сюда, может я чего то не знаюа если класс финальным сделать то и через наследников ничего не выйдет


koza4ok

Спасибо.Я доволен.Теперь буду искать аналогичное на javascript