Symfony 5 - 制作 :entity in custom folder?

标签 symfony directory doctrine entity

在我的 Symfony 5 应用程序中,我有一个这样的架构:

src/
├─ Website/
│  ├─ Entity/
│  ├─ Repository/
│  ├─ Controller/
├─ Application/
│  ├─ Entity/
│  ├─ Repository/
│  ├─ Controller/

当我使用命令 php bin/console make:entity 创建实体时,我希望能够指定在哪个文件夹上创建实体,并且它还会在自动选择正确的文件夹。

这是我对 doctrine.yaml 文件的配置

    orm:
        auto_generate_proxy_classes: true
        naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
        auto_mapping: true
        mappings:
            App\Application:
                is_bundle: false
                type: annotation
                dir: '%kernel.project_dir%/src/Application/Entity'
                prefix: 'App\Application\Entity'
                alias: Application

            App\Website:
                is_bundle: false
                type: annotation
                dir: '%kernel.project_dir%/src/Website/Entity'
                prefix: 'App\Website\Entity'
                alias: Website

目前,我找到的唯一解决方案如下:

enter image description here

  1. php bin/console make:entity
  2. 我等着它问我路径,如果我想在 src/Application/Entity 文件夹中创建实体 Totoo,我就输入这个:\App\Application\Entity\Totoo
  3. 它确实在 src/Application/Entity/Totoo.php 上创建实体
  4. 但它会在 src/Repository/Application\Entity\TotooRepository.php 上创建存储库

我们如何优化这种使用命令创建实体的方式,以便在正确的位置自动创建实体和存储库,并且如果可能而不必每次都键入完整路径? (也许是由于我的 Doctrine 设置中的别名?但我不知道如何)

最佳答案

要执行此操作,您需要添加一个 maker.yaml 文件 使用以下行(例如)

# config/package/dev
maker:
  root_namespace: 'App\Application\'

当您键入:bin/console make:entity 时,新实体或修改现有实体会将其 check out 到此文件夹中。

P:S 注意你在哪个环境中配置它,在我的例子中是 dev

就是这样;)

关于Symfony 5 - 制作 :entity in custom folder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66316808/

相关文章:

Symfony AutoWire 多个服务同一类

php - 如何映射 Doctrine 实体

mysql - 4张表的SQL查询: Very Complex?

php - 将请求注入(inject) Symfony2 实体

php - 错误 : Invalid PathExpression. 必须是 StateFieldPathExpression

php - 如何像 Doctrine 2 中的表格一样加入实体?

php - 如何使用 symfony2 学说查询生成器选择不同的查询?

c# - 从windows电脑执行命令ls到linux电脑

android - android内部存储中目录的绝对路径?

python - 在python中设置搜索程序的目录