Страница 1 из 1

Вычисляемые свойства объектов

Добавлено: Пн июл 25, 2016 8:04 pm
nightwind
В очень многих сценариях использования нет никакой необходимости хранить свойства объектов в базе. К примеру - сделал астрономический объект, который вычисляет все-все. И как я вижу, очень нелогично хранить эти вычисленные значения, а так же периодически их перевычислять-актуализировать. Гораздо удобнее сделать свойства функцией, вычисляющей значения по запросу.
Понятное дело, можно сделать метод update() обновляющий все свойства, и вызывать его каждый раз перед обращением к свойству. Но это лишние расходы, лишнее место в базе, лишняя нагрузка на mysql.
пысы - аргументами, что современному компу пофиг, 20 там значений или 20 000 в базе - не принимаются. у меня крутится на распберри первом, с базой в tmpfs. и я очень сторонник оптимизации, чем покупки 120-ядерного core i10
пыпысы. я конечно могу сделать объект в php файле, и никаких проблем. но для непрограммеров такое решение очень не подходит, да?

Re: Вычисляемые свойства объектов

Добавлено: Пн июл 25, 2016 9:39 pm
olehs
у непрограммеров на этот случай как раз и имеется corei10 :lol:

Re: Вычисляемые свойства объектов

Добавлено: Пн июл 25, 2016 9:42 pm
olehs
а если по делу: методы объектов умеют принимать аргументы и возвращать значения

Re: Вычисляемые свойства объектов

Добавлено: Пн июл 25, 2016 11:45 pm
nightwind
Olehs, ткни носом, как??

Re: Вычисляемые свойства объектов

Добавлено: Пн июл 25, 2016 11:56 pm
olehs
Предположим есть метод Computer.power2 c кодом

Код: Выделить всё

return $params['n'] * $params['n'];
Тогда вызов его, например, так:

Код: Выделить всё

cm('power2', array(n=>8))
вернет 64