Я работаю над веб-приложением PHP и пытаюсь использовать модель MVC. У меня есть много вещей, которые существуют как «сущности базы данных» - ряд или набор связанных строк, которые концептуально представляют собой одну «узнаваемую человеком» вещь. Поэтому я часто пытаюсь предоставить интерфейс для этой вещи в модельном классе.
Так что, конечно, функциональность мельницы состоит в том, чтобы иметь существующую сущность, получать от нее некоторые данные и иногда обновлять ее. Однако, когда я сталкиваюсь с проблемами, мне нужно создать новую сущность. Ни один из данных по умолчанию для существующего объекта еще не существует!
Например, мои __construct()
методы часто будут иметь аргументы (т.е. $id
для WHERE id = $id
), чтобы я мог выбирать данные из базы данных и заполнять все свойства объекта из этих данных. Однако, когда я хочу создать новую сущность, значения для этих аргументов еще не существуют!
Как вы все справляетесь с этой ситуацией? Вы
- попытаться обеспечить функциональность для создания и последующих манипуляций в одном и том же объекте
- есть другой класс только для генерации сущности
- избегать
__construct
и иметь что-то вроде create()
для новых сущностей и instantiate()
для существующих
- что-то еще?