【问题标题】:Attempted to load interface "NotExistingInterface" from namespace尝试从命名空间加载接口“NotExistingInterface”
【发布时间】:2020-01-14 19:54:43
【问题描述】:

尝试从命名空间“Symfony\Bundle\FrameworkBundle\Tests\Fixtures\Validation”加载接口“NotExistingInterface”。 您是否忘记了另一个名称空间的“使用”语句?无法理解这个错误

Symfony\组件\调试\异常\ ClassNotFoundException 在 \vendor/symfony/framework-bundle/Tests/Fixtures/Validation/Article.php(第 5 行)

<?php
namespace Symfony\Bundle\FrameworkBundle\Tests\Fixtures\Validation;

class Article implements NotExistingInterface
{    
   public $category;
}

我不知道错误。请帮忙。

【问题讨论】:

  • 当 symfony 抛出这个错误时,你能分享一下你在做什么吗?可以分享一些代码吗?
  • 你正在实现NotExistingInterface接口,你还没有使用use语句导入。
  • 使用PHPStorm之类的IDE很好。它会导入你需要的东西
  • 您展示的代码来自 Symfony 框架内的测试。我完全不希望您的代码使用它。是什么导致该文件运行?

标签: php symfony


【解决方案1】:

你的代码应该是这样的:

<?php
namespace Symfony\Bundle\FrameworkBundle\Tests\Fixtures\Validation;

use Symfony\Bundle\FrameworkBundle\Tests\Fixtures\Validation\NotExistingInterface;

class Article implements NotExistingInterface
{    
   public $category;
}

【讨论】:

    【解决方案2】:

    很可能您的代码中有一个名为 Article 的类,在某些代码中使用它时,忘记了它的 use 语句。

    我遇到了同样的问题,这就是我在这里的原因 =)。

    事实证明,我没有在其他代码中为我的 Article 类添加 use 语句,并且在执行时,它一定决定使用 FrameworkBundle 测试中的 Article 类。可能是一些自动加载/自动装配的怪异。

    【讨论】:

      【解决方案3】:

      我也遇到了同样的问题。

      在控制器中,我需要我的 Article 实体,IDE 建议我导入该类,但我点击了错误的类。

      检查你的进口(使用)

      你可能有...

      use Symfony\FrameworkBundle\Tests\Fixtures\Validation\Article;
      

      而不是一个

      use App\Entity\Article;
      

      【讨论】:

        猜你喜欢
        • 2020-07-07
        • 1970-01-01
        • 1970-01-01
        • 2015-03-29
        • 2017-03-23
        • 2021-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多