Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony5/条令可以';找不到实体的XML映射文件_Php_Doctrine Orm_Symfony5 - Fatal编程技术网

Php Symfony5/条令可以';找不到实体的XML映射文件

Php Symfony5/条令可以';找不到实体的XML映射文件,php,doctrine-orm,symfony5,Php,Doctrine Orm,Symfony5,我目前正在尝试使用带XML映射的条令从头开始建立一个Symfony5项目 我用一些实体创建了一个简单的AppBundle。尝试生成迁移后,出现以下错误: 找不到类“App\Entity\User\User”的名为“User.orm.xml”的映射文件 快速的谷歌搜索告诉我这可能与注释冲突(我不使用注释,也找不到任何发生的地方) 我觉得我错过了一些非常简单的东西,我需要帮助 我的实体: <?php namespace App\Entity\User; final class User im

我目前正在尝试使用带XML映射的条令从头开始建立一个Symfony5项目

我用一些实体创建了一个简单的AppBundle。尝试生成迁移后,出现以下错误:

找不到类“App\Entity\User\User”的名为“User.orm.xml”的映射文件

快速的谷歌搜索告诉我这可能与注释冲突(我不使用注释,也找不到任何发生的地方)

我觉得我错过了一些非常简单的东西,我需要帮助

我的实体:

<?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;
}
}
我真的不知道我错过了什么

问候,, 穆克

编辑:在阅读了@cerad注释后,我决定删除bundle部分,只使用SF5新的文件体系结构。这个问题仍然存在。请注意,如果我更改User.orm.xml的名称(例如,User.orm.xml),它会检测到它并根据名称更改错误(User.orm.xml的大小写不匹配)

发现问题

首先,感谢@cerad提供有关捆绑包的建议

关于我的问题,我想将我的实体分为子文件夹:Entity/User/User.php。这个子文件夹就是问题所在。我一删除它(对于类和orm.xml文件),它就工作了


谢谢大家。

我在项目中通过在配置中添加另一个“前缀”键修复了它

范例

prefix: 'App\Account\Domain'

Symfony 5不再需要AppBundle,因此不鼓励使用AppBundle。话虽如此,您的dir路径是错误的。从“%kernel.project\u dir%开始,然后从那里开始工作。@cerad:添加%kernel.project\u dir%不是问题所在:dir已经在我的捆绑包的根目录下了
doctrine:
dbal:
    url: '%env(resolve:DATABASE_URL)%'

orm:
    mappings:
        App:
            is_bundle: false
            type: xml
            dir: '%kernel.project_dir%/config/doctrine'
prefix: 'App\Account\Domain'