2015-09-10 2 views
-1

У меня есть sf2 на основе api и admin apps, Отредактировано. Но он использует одну базу данных. Теперь api работает с базой данных через объекты доктрины, а административный проект использует собственные вызовы sql. И это очень раздражает.Symfony2 applicaiton's с общим кодом

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

Возможно, кто-то сделал что-то подобное и имеет хороший механизм. Идеи приветствуются.

На данный момент у меня есть только одна идея, Бип сущности в какой-то другой директории (синхронизирована с 3D-хранилище) и конфиг оба проекта, чтобы использовать его. Но я не могу избавиться от мыслей, что это можно сделать проще.

+0

Я не понимаю, о чем вы спрашиваете. Не могли бы вы уточнить, в чем именно заключается вопрос? похоже, вы уже решили. – HPierce

+1

Ищите лучший (или просто хороший) способ иметь общие объекты для обоих проектов. – Cawa

+1

Что я делал в той же ситуации, делал оба приложения одинаковыми И затем делил их на Bundles, поэтому у вас был бы CommonBundle SiteBundle и AdminBundle this вы можете делать то, что хотите , если вы действительно хотите, чтобы ваши сущности были доступны в других приложениях, вы должны попробовать совершить поход на спокойные услуги, они могут предоставить вам то, что вам нужно. – AleMelo

ответ

1

Распространенным и удобный способ совместного использования кода между несколькими приложениями использует Composer пакеты:

  • Extract код сущностей в отдельной библиотеке и создать пакет Composer (если вы хотите, чтобы сделать его закрытым, создать приватный репозиторий с помощью Satis или Toran Proxy)
  • Установите этот новый пакет в приложения администратора и api.

Чтобы иметь возможность редактировать и фиксировать код для новой частной библиотеки непосредственно в vendor/ директории вашего приложения, используйте --prefer-source флаг при запуске composer install или update.

Но здесь вы должны спросить себя, имеет ли смысл иметь отдельные приложения и репозитории для API и администратора.

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