Как лучше всего расположить код для определения методов табличных отношений с использованием моделей Zend Framework? - PullRequest
1 голос
/ 24 декабря 2008

Я создаю простую систему тегов, которая позволяет мне связывать тег практически со всем в моем приложении. Чтобы облегчить это, я создал таблицу под названием «объекты», на которую ссылается моя модель «Объект».

На данный момент у меня настроены три модели:

  • Tag (с TagObject, определенным как dependentTable)
  • Объект (с тегом TagObject, определенным как зависимый стол)
  • TagObject (с тегами и объектами, определенными в referenceMap)

Я уже создал несколько простых методов, таких как fetchTagById() и fetchTagByName(), в своей модели тегов, но теперь я хочу создать метод, который получает мои теги и их соответствующие вхождения в таблицу объектов, чтобы создать простой тег облако.

По структуре, как лучше всего создать этот метод (используя findDependentRowset () )?

Я почему-то чувствую, что хранить эту модель в моей модели Tag не очень хорошая практика, но сохранение ее в моей модели TagObject также кажется неудобным и может привести к чрезмерному усложнению.

Любой совет будет принят с благодарностью.

Заранее спасибо.

1 Ответ

1 голос
/ 24 декабря 2008

Если метод извлекает теги, он должен быть в модели тегов. Если он извлекает объекты, он должен быть в объектной модели. Поскольку вы извлекаете теги и их вхождения, это должно быть в модели тегов.

Я бы назвал модель тегами, а не тегами, так как тег является строкой в ​​тегах, а в ZF модель обычно представляет собой DataGateway к таблице. То же самое с объектами.

$tags = new Tags();
$cloud = $tags -> getWithObjectOccurrences();

С другой стороны, я бы никогда не назвал класс "объект" или "объекты", поскольку он слишком общий (объекты являются базовой языковой конструкцией). Попробуйте найти более описательное имя для него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...