2010-10-07 2 views
1

Я планирую создать два приложения с использованием Zend Framework, которые очень похожи, но служат двум различным целям, которые не могут быть частью одного и того же приложения или объединены в один. Однако модули - это то, что я рассматриваю.Два похожих приложения в разных доменах, но те же пользователи

Проблема, с которой я сталкиваюсь, заключается в том, что пользователь регистрируется для первого приложения. Я хочу, чтобы эта информация была доступна для второго приложения, следовательно, предоставляя общую таблицу пользователя или базу данных пользователя. Поскольку приложения настолько похожи, что у них одни и те же таблицы базы данных, а некоторые из них имеют разные поля, я не уверен, должен ли я иметь три, две или одну базу данных. Три базы данных будут представлять собой базу данных пользователей, базу данных App1, базу данных App2. Две базы данных будут представлять собой базу данных пользователей и базу данных App1 + 2 с префиксными таблицами. Одной базой данных будет база данных User и App1 + 2.

Я стараюсь предоставить как можно больше информации, но поскольку это для клиента, я не могу подробно обсуждать детали подробно. Кроме того, это то, чего хочет клиент, а не неспособность выяснить, как его настроить, я не уверен, что это лучше.

Мои вопросы

  1. Из приведенных выше вариантов, которые будут служить лучше, или другой?
  2. Должен ли я иметь общий пользовательский набор данных для двух приложений или должен ли пользователь регистрироваться снова?
  3. Независимо от того, какой выбор вы считаете лучшим, как бы я должен его реализовать в Zend? Для краткости не требуется код.

Надеюсь, этого достаточно, чтобы дать мне лучший ответ, но если вам нужна дополнительная информация, пожалуйста, дайте мне знать.

Спасибо!

ответ

2

Почему имеется несколько баз данных? Используйте только одну базу данных и префикс таблиц, которые отличаются для двух приложений. Например:

users app1_otherdata app2_otherdata

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

+0

Множественная база данных была предложением, потому что тогда я могу иметь приложения на разных серверах и не зависеть от одной базы данных. Хотя это облегчит жизнь с точки зрения настройки логики, я не уверен, что в конечном итоге это того стоило. – Jesse

+0

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

0

Вопрос 2 - это то, что вы действительно должны обсудить со своим клиентом.

Как только вы знаете предпочтения своих клиентов, вы можете, например. предложите использовать единый подход для входа на сайты, но я бы, конечно, разделил оба БД. Таким образом, для меня имеет смысл использовать либо ваш 2 DB (с отдельным пользовательским DB для каждого приложения), либо ваше решение 3 DB (с отдельным пользовательским DB/единым входом).

+0

Проблема заключается в том, что клиент не знает передовой опыт, и я тоже не знаю, с какой настройкой лучше всего. Я согласен с тем, что отсутствие двух приложений, использующих одни и те же пользователи, было бы лучшим способом для этого. – Jesse

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