1

我是 symfony 的新手,对 symfony cmf 更是如此。我有项目想法并想开始,但是当我阅读文档时,我变得越来越困惑。

我需要构建的是具有树状结构路由和对这些路由的多语言支持的 CMS。但是我对这个 PHPPCR 的东西感到困惑,因为它对我来说是新的,我不想在我的服务器上安装 java,这是否意味着我不能使用 CMF?

我阅读了 Doctrine ORM 解决方案,但没有找到示例、清晰的文档,还有另外 2 个概念,我想不通:

  • 学说/phpcr-odm
  • jackalope / jackalope-doctrine-dbal

它们有多大不同,或者它们可能相互补充?

所以总结一下这个问题:如果有人可以向我解释 PHPCR、PHPCR-ODM、doctual-dbal,并告诉我我可以使用 CMF 和仅 MySQL 数据库创建 CMS(我看到注意它可能从 DB 加载路由)以及如何应该处理这个问题吗?

4

1 回答 1

1

PPCR 的故事与您从其他数据库存储系统中了解到的有点不同。这可能会引起混淆,所以让我解释一下它背后的概念。

基本流程图可以表示为: 基本流程图

应用层是您编写的 PHP 代码。要将一些数据放入 PHPPCR,您需要创建一个新节点(就像 MySQL 数据库中的一行)并将其注入 PHPCR 层。该层与绑定到 DB 的 jackalope 连接进行通信。

如果您使用 Doctrine PHPPCR-ODM,则在 Application 层和 PHPPCR 层之间有一个新层。你不会直接使用 PHPCR,你只会通过这个 Doctrine 层使用它。

Jackalope 层对于不同的 DB 层可以有多种不同的方式。到目前为止,Jackalope 层有 2 个选项:Jackrabbit 或 Doctrine DBAL。
使用 Jackrabbit 选项,您可以通过 Jackalope 与 JAVA Jackrabbit 数据库系统进行通信。这是最强大、功能最丰富、最快速的选项。
您也可以选择使用 Doctrine DBAL。这个 Jackalope 适配器将使用 Doctrine DBAL 层与 DB 进行通信。Doctrine DBAL 可以与大多数关系数据库(SQLite、MySQL、Oracle 等)一起使用。

Symfony CMF 中的几乎所有示例都使用 Doctrine DBAL 版本,因为如果您是 PHPCR 世界的新手,那么设置起来会更容易。只需查看文档沙箱标准版即可。

于 2014-04-04T09:19:43.610 回答