Make:entity терпит неудачу для некоторых существующих сущностей

Мне нравится использовать make:entity MyEntity для изменения объектов (добавления полей, геттеров, сеттеров). Обычно он дает вывод:

$ sym make:entity MyEntity
Your entity already exists! So let's add some new fields!

Однако для некоторых организаций это приведет к

$ sym make:entity SomeOtherEntity
[ERROR] The file "src/Repository/SomeOtherEntity.php" can't be generated because it already exists.

Разница между сущностями заключается в их расположении:

MyEntity находится в src/Entity

SomeOtherEntity находится в src/Domain/Model

Однако все сущности включены в конфиг, как я добавил

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

Например. миграции работают нормально с этим. Просто make:entity не получается. Вопрос в том, могу ли я использовать make:entity для объектов, которые не находятся в местоположении по умолчанию?

Любой намек будет оценен.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
1
0
643
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Да, ты можешь.

Чтобы создать новый объект в другом пространстве имен с помощью команды make:entity, вы можете использовать команду:

php bin/console make:entity \\App\\Domain\\Model\\SomeOtherEntity

Если вы используете make:entity для существующих сущностей, вы должны добавить к команде флаг --regenerate.

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

php bin/console make:entity --regenerate App\\Domain\\Model\\SomeOtherEntity

Спасибо! Где жестко закодировано это местоположение по умолчанию (src/Entity)? Мы не можем изменить это? Потому что скоро я перенесу все свои объекты в src/Domain/Model.

agoldev 26.05.2019 17:12

Для меня это была одна обратная косая черта! Пожалуйста, попробуйте и отредактируйте свой ответ, если это необходимо. С двойным слэшем выдавало ошибкуis not valid as a PHP class name (it must start with a letter or underscore, followed by any number of letters, numbers, or underscores)

agoldev 26.05.2019 17:15

Другие вопросы по теме