如何在另一个项目中重用 sylius 组件?
Posted
技术标签:
【中文标题】如何在另一个项目中重用 sylius 组件?【英文标题】:How to reuse sylius components in another project? 【发布时间】:2018-10-09 03:22:13 【问题描述】:我最近了解了 Sylius 项目,并试图在一个单独的项目中重用它的组件(仅供研究)。
我的目标是测试我是否可以在单独的项目中使用 sylius 组件。只有几个组件。
按照文档 (http://sylius-older.readthedocs.io/en/latest/components/Order/basic_usage.html),我能够安装组件并使用它们的类,但我该如何处理数据库表?
我安装了学说并尝试映射类,但我做不到。
我正在考虑为每个表创建迁移(教义或 eloquent)并执行操作 (CRUD)。
非常感谢你们。
【问题讨论】:
【参考方案1】:假设您已经使用 Composer 安装了 OrderBundle,您可能需要告诉 Doctrine 在哪里读取实体映射。对于 Sylius 的 OrderBundle,它们以 xml 文件的形式存储在 Resources/config/doctrine/models 中,例如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 命令创建适当的模式。您可能还需要在doctrine.orm
下调整auto_mapping
,如果您这样做,可能还需要手动映射您自己的实体。
【讨论】:
非常感谢,您已经解决了我的问题。以上是关于如何在另一个项目中重用 sylius 组件?的主要内容,如果未能解决你的问题,请参考以下文章