Как совместно использовать модель Symfony2 с несколькими проектами

Мы создаем SaaS, который контролирует определенные активы. Это означает, что он принимает данные, сохраняет их и отображает в веб-интерфейсе.

Для этого у нас есть несколько компонентов, которые мы создали с/переходим к Symfony2:

  • фронтэнд веб-приложение, где пользователи могут просматривать свои данные
  • бэкэнд-административное веб-приложение, где мы создаем новые мониторы, пользователей и т.д.
  • API
  • приложение, которое извлекает полученные данные из очереди и помещает их в нашу базу данных (теперь это отдельный сценарий, но я думаю переработать это как команду Symfony, которая называется cron)

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

Мой вопрос: как мне структурировать эти проекты в Symfony2?

  1. Создать отдельный пакет, который содержит объекты для моей базы данных, и четыре проекта включают эти объекты и работают с ними?
  2. Могу ли я создать каталог «модели» в моей папке приложения Symfony, который используется всеми пакетами в каталоге my/src?
  3. более чистый способ сделать это?

Вариант 1 кажется немного странным, поскольку пакет, насколько я понимаю, нуждается в маршрутизации, представлениях, контроллерах и т.д. Использовать его для просто сущностей было бы немного странно.

Вариант 2 кажется правильным, поскольку папка/app в любом случае считается «общей» для всего, что находится в папке/src (так как, например, там также находятся параметры). Однако «модельной» папки там нет, и я не уверен, что она должна быть?

Я понимаю, что «лучших практик» для Symfony 2 уже очень мало, так как она совершенно новая. Но я хотел посмотреть, есть ли какие-то практики более предпочтительные, чем другие, на ваш взгляд.

Любая обратная связь более приветствуется. Заранее спасибо, что

Дитер

-121--812211- Xml.Linq: Descendants () ничего не возвращает Я пытаюсь прочитать из файла ncx (т.е. xml) с помощью XElement: XElement foundNode = ncx. Потомки («navPoint») .Here (r = > r. Атрибут («class») .Value = = «chapter») .FirstOrDefault (); Как...

Я пытаюсь прочитать из ncx-файла (т.е. xml-файла) с помощью XElement:

XElement foundNode = ncx.Descendants("navPoint").Where(r => r.Attribute("class").Value == "chapter").FirstOrDefault();

В результате foundNode имеет значение null, так как ncx. Потомки («navPoint») возвращают пустое перечисление. Но данные есть:

<?xml version='1.0' encoding='utf-8'?>
<ncx xmlns="http://www.daisy.org/z3986/2005/ncx/" version="2005-1" xml:lang="en">
  <head>
    <meta content="8eab2efe-d584-478a-8c73-1304d2ae98fa" name="dtb:uid"/>
    <meta content="3" name="dtb:depth"/>
    <meta content="calibre (0.8.12)" name="dtb:generator"/>
    <meta content="0" name="dtb:totalPageCount"/>
    <meta content="0" name="dtb:maxPageNumber"/>
  </head>
  <docTitle>
    <text>Fine</text>
  </docTitle>
  <navMap>
    <navPoint class="chapter" id="27665f37-ecf5-4934-a044-4f77152e54d9" playOrder="1">
      <navLabel>
        <text>I. BLIND</text>
      </navLabel>
      <content src="Fine_split_003.html"/>

Не могли бы вы объяснить, что здесь не так? Спасибо.

5
задан dpreznik 21 September 2011 в 16:29
поделиться