2 zerkms: на самом деле, геттеры и сеттеры не подходили к этому решению. потому что рид онли свойства были не конечной целью. в рамках архитектуры есть пул объектов, который предоставляет через ядро всем желающим методы типа get_instance и само ядро определяет кому-какой объект создать и с камими привелегиями. так вот. исходя из этой задачи, соответственно, появляются классы, которые могут получать клон объекта из пула и делать с ним что угодно, классы, которые могут получать сам объект и на своё усмотрение его как-то менять и классы, которые могут только пользоваться созданным объектом с гарантией того, что они его не изменят никогда ну ни коим образом. слабое место пула объектов в том, что мы взяли объект в определённом состоянии и в том же состоянии должны его вернуть. и в этом месте возникает человеческий фактор )) тут можно спросить - почему бы всем стрёмным классам не давать клон и пусть кромсают его как хотят. ответ будет такой - система эволюционирует. и правила игры могут изменится. сегодня этот класс получил клон, а завтра с чьей-то лёгкой руки он получит объект. ну, вызовет кто-то не в том месте get_instance с параметрами по умолчанию ) так что геттеры мне не подошли и я решил это просто в лоб тупым добавлением массива с аттрибутами. достаточно при создании объекта задать аттрибут рид онли и вопрос снят. поскольку запросы на создание объектов выполняет ядро через непосредственное общение с пулом объектов, то ядро и решение принимает на то, какой аттрибут выставить. т.е. всякие многочисленные манагеры этого ядра. тогда при попытке изменить состояние объекта, ядро читает его аттрибуты, смотрит на то, кто эти аттрибуты установил и если у пользователя меньше прав, его посылают. всё. )) спасибо за помощь. ))
2 findnext: спасибо за помощь )
2 Lightning: я у себя сделал примерно то же самое что ты и предложил с констант мод. я устанавливаю аттрибуты в которых есть рид онли и это работает так же. разница только в том, что я не обращаюсь к своёству объекта напрямую, неявно вызывая сеттер, поэтому проверка производится не в сеттере, а в пуле объектов - на уровень выше. там и отсекаются все попытки вызывать потенциально опасные методы.
2 dimagolov: виват! )) как замечательно, что есть такие мудрые гуру как ты, к тому же, умеющие читать мысли и на 99% знающие кому чего надо )) и силой мега ЧСВ решающие чья задача высосана из пальца, а чья нет )) может тебе стоит сменить профессию с программера на заместителя бога? ) ты бы неплохо смотрелся в небесной канцелярии с такими-то способностями. реально снимаю шляпу ) браво ) дожди замучали, а тут такое веселье и нахаляву ))