| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Статические методы в моделях |
| Автор: Axiom 21.4.2014, 17:54 | ||||
| Приветствую! Хотелось бы спросить совета как поступить в такой ситуации: Есть контроллер RegController. Соответсвенно его модель Reg:
В данном случае, существует такая проблема. В контроллере создается объект модели ($this->model = new Reg()). И соответственно, этот объект содержит в себе два метода: insertNewUser() и activateUser(). Но одновременно эти методы никогда не используются. Имеет ли смысл в таком случае, делать методы модели статическими, чтобы можно было обращаться только к необходимому методу (Reg::insertNewUser()). Если правильно понимаю, это избавит от потребления лишней памяти, но во-первых, добавит немного избыточности кода, т.к. в каджом методе придется доставать из реестра бд_хэндл (Registry::get('db')):
во-вторых, на сколько знаю, не "этично" вот так использовать статические методы. Подкажите, как лучше поступить. |
| Автор: Ramzzes 26.4.2014, 19:11 |
| Экономия тут будет на копейках, а потом сами путаться начнете, где статик, а где требуется экземпляр. Я тоже когда свой движок писать начинал, пытался заоптимизировать всё по самые небалуйся, а он начал прилично разрастаться, оказалось что такая экономия боком выходит при расширяемости функционала, многое пришлось переписать. |
| Автор: Axiom 27.4.2014, 14:57 |
Пожалуй, пришел к той же мысли. С одной стороны ООП "развязывает" руки засчет своей абсткрактности, а с другой ограничивает. Думаю, такого рода проблемы можно решить при процедурном подходе, но опять же, ничего идеального не существует. =) В любом случае, спасибо за помощь ;) |