2013-06-05 50 views
1

我得知它通過Doctrine ODM保存到PHPCR中。Symfony CMF如何保存到數據庫中?

但我知道它全部保存在app.sqlite,但我不明白它在概念上如何工作?

爲什麼當所有東西都保存在app.sqlite中時,它需要數據庫? 爲什麼我需要製作這種命令php app/console doctrine:phpcr:init:dbal等等?

+0

'app.sqlite'是一個數據庫 –

+0

好的,我知道它是一個數據庫。但爲什麼我需要連接到數據庫?我需要連接到數據庫嗎?參考一些文件會很酷嗎? – FortuneSoldier

回答

2

Symfony CMF可以使用不同的模型類。我們提供了映射爲Doctrine PHPCR-ODM的默認實現。 PHPCR-ODM依次建立在PHP內容庫PHPCR上。有3個實現,默認情況下,cmf沙箱使用jackalope-doctrine-dbal。 jackalope-doctrine-dbal反過來使用dbal原則將內容存儲到由dbal原則支持的數據庫中。 jackalope目前處理sqlite,mysql和postgres。 jackalope-doctrine-dbal在第一次運行時需要一些初始化,這是你所看到的命令。無論我們使用嵌入式sqlite數據庫驅動程序還是使用mysql或postgres,這都是一樣的。

您可以在choosing a storage layer中找到一些選擇背景,以及如何在Create a New Project with PHPCR-ODM中設置phpcr-odm的信息。環顧http://symfony.com/doc/master/cmf/index.html,可以解釋CMF的大部分概念和實現。