2012-10-06 3 views
1

У меня есть класс статей, которые должны хранить эти поля:Как оптимизировать этот класс структуры

  • article_id
  • имя
  • title_es
  • title_en
  • alias_es (статья пробкового для URL)
  • alias_en
  • описание_es
  • description_en
  • date_c
  • date_m
  • date_p

Как вы уже, наверное, догадались, мне нужно, чтобы быть на английском и испанском языках. На данный момент проблем нет, потому что есть только два языка.

Что делать, если мне нужно добавить больше в будущем? Этот класс станет монстром. Итак, как бы вы это реализовали?

Единственное хорошее решение, о котором я могу думать, это разделить любую статью в разных для каждого языка, добавив языковое поле и какие-то отношения «article (English) -article (Spanish)», в дополнительном может быть, стол. Я считаю, что Joomla делает что-то вроде этого.

Что вы думаете об этом подходе? Можно ли сделать эффективную реализацию для этого без разделения статьи на каждый язык? Любой шаблон дизайна для этого?

+1

Вы ищете просто класс или структуру базы данных? – Sameer

ответ

3

Я бы оставил только 1 из каждого поля и добавил поле языка. Затем вы можете создать 2 объекта статьи, один для английского, один для испанского. Отображайте в зависимости от того, что вам нужно, в соответствии с выбранным пользователем языком.

+0

Вы имеете в виду более или менее реализацию, которую я сам рассматривал, не так ли? –

+0

Да, это хороший способ сделать это! –

Смежные вопросы