Как повторно использовать компоненты Sylius в другом проекте? - PullRequest
0 голосов
/ 28 апреля 2018

Недавно я познакомился с проектом Sylius и пытался повторно использовать его компоненты в отдельном проекте (только для изучения).

Моей целью было проверить, могу ли я использовать компоненты sylius в отдельном проекте. Только несколько компонентов.

Следуя документации (http://sylius -older.readthedocs.io / en / latest / components / Order / basic_usage.html ), я смог установить компоненты и использовать их классы, но как мне сделать таблицы базы данных?

Я установил учение и попытался сопоставить классы, но не смог.

Я думал о создании миграции (доктрина или красноречие) для каждой таблицы и выполнении действий (CRUD).

Большое вам спасибо, ребята.

1 Ответ

0 голосов
/ 28 апреля 2018

Предполагая, что вы установили OrderBundle с помощью Composer, вам, вероятно, придется сообщить Doctrine, где читать сопоставление сущностей. В случае OrderBundle Sylius они хранятся в виде XML-файлов в Resources / config / doctrine / models, например, Order.orm.xml . Если вы посмотрите на пример конфигурации в 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 и, возможно, вручную сопоставить ваши собственные объекты, если вы сделаете это.

...