2013-12-22 92 views
0

我已經開始關注Symfony CMF,我必須說它看起來不錯! 但是,我無法理解數據庫Schema!我已經閱讀了PHPCR的基礎知識,並在一定程度上了解它。令我困惑的一點是Symfony CMF安裝的所有額外表格。即Symfony CMF數據庫模式

  • 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」 具有

數據,例如名稱:copyright

回答

0

當你看到這個模式,這意味着你正在使用Jackalope Doctrine DBAL,它是PHPCR API的一個可能的實現。這在關係數據庫的頂部實現了PHPCR。不幸的是,沒有太多的文檔可用,但所有這些表都被使用。

如果你想了解更多關於PHPCR的信息,我建議你看看這個PHPCR Tutorial。如果您真的想詳細瞭解數據庫架構,則需要深入瞭解Hackalope Doctrine DBAL的源代碼。

請注意,您也可以在CMF中使用doctrine ORM。 RoutingBundle已經爲它提供了映射,對於其他的bundle可以實現ORM映射,我們很樂意貢獻。

PS:我從來沒有想過如何獲得通知後的初始通知在stackoverflow,所以最好打開相關的github存儲庫上的問題,如果你需要更多的信息。

+0

感謝您的回覆。我對CMF進行了進一步的實驗,並且可以看到諸如phpcr_binarydata這樣的表格被用於通過mediaBundle存儲媒體。唯一讓我失望的是查詢的數量!通過媒體包,有70多個查詢(儘管我可能做錯了什麼)?不過,我相信默認CMF頁面上有40個!我現在使用CMF來進行「簡單cms」和數據庫路由。我已經安裝了ORM,似乎CMF正常工作!總的來說 - 我發現CMF是一個很好的學習曲線! –

+0

我們爲PHPCR-ODM版本1.1付出了一些努力,以減少查詢次數。但是,如果您使用菜單,它仍然相當密集。 – dbu