如何在另一个项目中重用sylius组件?

时间:2018-04-28 12:42:06

标签: php symfony components sylius

我最近了解了Sylius项目,并试图在一个单独的项目中重用其组件(仅限研究)。

我的目标是测试我是否可以在单独的项目中使用sylius组件。只有几个组件。

遵循文档(http://sylius-older.readthedocs.io/en/latest/components/Order/basic_usage.html),我能够安装组件并使用它们的类,但我该如何处理数据库表?

我安装了学说并尝试映射类,但我不能。

我正在考虑为每个表创建迁移(学说或口才)并执行操作(CRUD)。

非常感谢你们。

1 个答案:

答案 0 :(得分:1)

假设您已使用Composer安装了OrderBundle,您可能需要告诉Doctrine在哪里阅读实体映射。在Sylius的OrderBundle的情况下,它们被存储为Resources / config / doctrine / models中的xml文件,例如Order.orm.xml。如果您查看sample configuration in the DoctrineBundle-recipe,可以找到手动映射的参考。在你的情况下,它可能看起来像这样:

# app/config/config.yml (in Symfony 3.4)
# config/packages/doctrine.yaml (in Symfony 4)
doctrine:
    dbal:
        ...
    orm:
        mappings:
            SyliusOrderBundle:
                is_bundle: false
                type: xml
                dir: '%kernel.project_dir%/../vendor/sylius/order-bundle/Resources/config/doctrine/models'
                prefix: 'Sylius\Component\Order\Model'
                alias: SyliusOrder

你可能需要调整一下,例如如果你有一个Symfony 4应用程序,但有了这个,你应该能够使用默认的Doctrine命令创建适当的模式。您可能还需要在auto_mapping下调整doctrine.orm,如果执行此操作,可能需要手动映射您自己的实体。