В настоящее время я пытаюсь настроить проект Symfony 5 с нуля, используя Doctrine с сопоставлением XML.
Я создал простой AppBundle с некоторыми объектами. После попытки сгенерировать мою миграцию у меня появляется эта ошибка:
Не найден файл сопоставления с именем 'User.orm. xml' для класса 'App \ Entity \ User \ User'.
Быстрый поиск в Google говорит мне, что это может быть конфликт с аннотациями (которые я не использую и не могу найти ни разу).
Мне кажется, что я что-то тупо упускаю просто и мне нужна помощь.
Моя сущность:
<?php
namespace App\Entity\User;
final class User implements UserInterface
{
use IdentifiableTrait;
private string $name;
private Collection $tasks;
public function __construct()
{
$this->tasks = new ArrayCollection();
}
public function getName(): string
{
return $this->name;
}
public function setName(string $name): UserInterface
{
$this->name = $name;
return $this;
}
public function getTasks(): Collection
{
return $this->tasks;
}
public function addTask(TaskInterface $task): UserInterface
{
if (!$this->tasks->contains($task)) {
$this->tasks->add($task);
$task->setUser($this);
}
return $this;
}
public function removeTask(TaskInterface $task): UserInterface
{
if ($this->tasks->contains($task)) {
$this->tasks->removeElement($task);
}
return $this;
}
}
Мой User.orm. xml Файл (расположение: config / doctrine / User /):
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="App\Entity\User\User" table="users">
<id name="id" type="integer" column="id"/>
<field name="name" column="name"/>
</entity>
</doctrine-mapping>
Мой конфиг / packages / doctrine .yaml file:
doctrine:
dbal:
url: '%env(resolve:DATABASE_URL)%'
orm:
mappings:
App:
is_bundle: false
type: xml
dir: '%kernel.project_dir%/config/doctrine'
Я действительно не вижу, чего мне не хватает.
С уважением, Mouke
РЕДАКТИРОВАТЬ: После прочтения комментария @cerad, я решил удалить часть пакета и просто использовать новую файловую архитектуру SF5. Проблема все еще там, хотя. Обратите внимание, что если я изменю имя User.orm. xml (например, user.orm. xml), он обнаружит его и изменит ошибку в соответствии с именем (несоответствие регистра для user.orm. xml )