В очень многих сценариях использования нет никакой необходимости хранить свойства объектов в базе. К примеру - сделал астрономический объект, который вычисляет все-все. И как я вижу, очень нелогично хранить эти вычисленные значения, а так же периодически их перевычислять-актуализировать. Гораздо удобнее сделать свойства функцией, вычисляющей значения по запросу.
Понятное дело, можно сделать метод update() обновляющий все свойства, и вызывать его каждый раз перед обращением к свойству. Но это лишние расходы, лишнее место в базе, лишняя нагрузка на mysql.
пысы - аргументами, что современному компу пофиг, 20 там значений или 20 000 в базе - не принимаются. у меня крутится на распберри первом, с базой в tmpfs. и я очень сторонник оптимизации, чем покупки 120-ядерного core i10
пыпысы. я конечно могу сделать объект в php файле, и никаких проблем. но для непрограммеров такое решение очень не подходит, да?
Вычисляемые свойства объектов
Модератор: immortal
-
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
- Благодарил (а): 85 раз
- Поблагодарили: 342 раза
Re: Вычисляемые свойства объектов
а если по делу: методы объектов умеют принимать аргументы и возвращать значения
-
- Сообщения: 1115
- Зарегистрирован: Вс июн 14, 2015 11:08 am
- Благодарил (а): 85 раз
- Поблагодарили: 342 раза
Re: Вычисляемые свойства объектов
Предположим есть метод Computer.power2 c кодом
Тогда вызов его, например, так:
вернет 64
Код: Выделить всё
return $params['n'] * $params['n'];
Код: Выделить всё
cm('power2', array(n=>8))
- Рейтинг: 1.16%