Symfony CMF如何保存到数据库中?

时间:2013-06-05 08:39:53

标签: sqlite doctrine-odm odm symfony-cmf

我知道它通过Doctrine ODM保存到PHPCR中。

但我知道它已全部保存在app.sqlite中,但我不知道它在概念上是如何运作的?

为什么在app.sqlite中保存所有内容时根本需要数据库? 为什么我需要制作这种命令php app/console doctrine:phpcr:init:dbal等等?

1 个答案:

答案 0 :(得分:2)

Symfony CMF可以使用不同的模型类。我们提供了为Doctrine PHPCR-ODM映射的默认实现。反过来,PHPCR-ODM建立在PHP内容库PHPCR上。有3个实现,默认情况下cmf沙箱使用jackalope-doctrine-dbal。 jackalope-doctrine-dbal反过来使用doctrine dbal将内容存储到docladine 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概念和实现。