2013-12-22 4 views
0

Я начал изучать Symfony CMF, и должен сказать, что это выглядит хорошо! Тем не менее, я не могу разглядеть схему базы данных! Я прочитал об основных принципах PHPCR и понимаю это до некоторой степени. Бит, который меня путает, - это все дополнительные таблицы, которые устанавливает Symfony CMF. Т.е.Symfony CMF Database Schema

  • phpcr_binarydata
  • phpcr_internal_index_types
  • phpcr_namespaces
  • phpcr_nodes
  • phpcr_nodes_references
  • phpcr_nodes_weakreferences
  • phpcr_type_childs
  • phpcr_type_nodes
  • phpcr_type_props
  • phpcr_workspaces

Что все это используется? Единственной таблицей, которую я могу понять, является phpcr_nodes и хранимые данные XML/свойства. Некоторые таблицы имеют данные и запрашиваются, но я не вижу ссылки на них в phpcr_nodes!

Например:

Таблица "phpcr_type_nodes" есть данные, такие как

имя: phpcr: управляемый супертипом: нт: базовая

Таблица "phpcr_type_props" имеет данные, такие как

name: copyright

ответ

0

Когда вы видите эту схему, это означает, что вы используете Jackalope Doctrine DBAL, что является одной возможной реализацией API PHPCR. Это реализует PHPCR поверх реляционной базы данных. К сожалению, доступной документации недостаточно, но все эти таблицы используются.

Если вы хотите узнать больше о PHPCR, я рекомендую посмотреть на это PHPCR Tutorial. Если вы действительно хотите понять схему базы данных в деталях, вам нужно будет прокопать исходный код Hackalope Doctrine DBAL.

Обратите внимание, что вы также можете использовать доктрину ORM с CMF. RoutingBundle уже предоставляет для него сопоставление, для других пакетов это было бы возможно для реализации сопоставлений ORM, и мы были бы рады за вклад.

PS: Я никогда не выяснял, как получать уведомления после первоначального уведомления о stackoverflow, поэтому лучше всего открыть проблему в соответствующем репозитории github, если вам нужна дополнительная информация.

+0

Спасибо за ответ. Я уже экспериментировал с CMF и вижу таблицы, такие как phpcr_binarydata, используемые для хранения медиа через mediaBundle. Единственное, что меня отталкивает, - это количество запросов! С медиа-пакетом было 70 + запросов (возможно, я ошибаюсь)? Однако, я считаю, что на странице CMF по умолчанию было 40! Я использую CMF для «простых cms» и маршрутизации базы данных. Я установил ORM, который отлично работает с CMF! В целом - я нашел CMF отличную обучающую кривую, которая хороша! –

+0

Мы предприняли некоторые усилия для версии 1.1 PHPCR-ODM, чтобы уменьшить количество запросов. Однако, если вы используете меню, оно все же довольно интенсивное. – dbu

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