edmondscommerce/dsm-symfony

此包最新版本(6.0.1)没有提供许可信息。

Doctrine Static Meta (edmondscommerce/doctrine-static-meta) 和 Symfony 的 symfony 扩展包

6.0.1 2019-09-10 15:48 UTC

This package is auto-updated.

Last update: 2024-09-17 01:06:35 UTC


README

Edmonds Commerce 提供

一个促进使用 Doctrine Static Meta 的 symfony 扩展包

这还不是生产就绪的

安装

首先,您需要在您的 composer.json 中添加以下内容

{
    "require": {
        "edmondscommerce/dsm-symfony": "dev-master"
    },
    "repositories": [
        {
            "type": "git",
            "url": "https://github.com/edmondscommerce/dsm-symfony"
        }
    ]
}

然后,您需要通过在 config/bundles.php 中添加以下内容来注册扩展包

return [
    EdmondsCommerce\DsmApiPlatformBundle\DsmApiPlatformBundle::class => ['all' => true]
];

运行 ./bin/console 后,您应该会看到 DSM 命令

./bin/console
# ...
 dsm
  dsm:generate:entity                     Generate an Entity
  dsm:generate:field                      Generate a field
  dsm:generate:relations                  Generate relations traits for your entities. Optionally filter down the list of entities to generate relationship traits for
  dsm:set:field                           Set an Entity as having a Field
  dsm:set:relation
# ...

在现有项目中重新生成实体

为了避免自动注入问题,建议您在 config/services.yaml 中取消注释任何引用您的项目代码的服务。例如

#    # makes classes in src/ available to be used as services
#    # this creates a service per class whose id is the fully-qualified class name
#    App\:
#        resource: '../src/*'
#        exclude: '../src/{Entities,Entity,Migrations,Tests,Kernel.php}'

这仅在需要重新生成代码中其他地方引用的实体时才需要。生成完成后,应重新取消注释这些行。有关更多详细信息,请参阅 问题 3

配置

这将添加 Symfony doctrine 配置到 DSM。这在 Container 文件中处理,我们在其中删除了 DMS 实体管理器工厂并替换为我们自己的 自己的