[php + symfony 5.0.x在扩展抽象类并同时实现接口时自动加载问题

问题描述 投票:3回答:1

我有一个symfony 5项目。

而且我在自动加载方面遇到了问题。

我使用框架提供的默认自动加载配置。

我在同一名称空间的同一目录中定义了类,抽象类和接口。

问题是,当我像这样描述我的班级时:

class MyClass extends MyAbstractClass

class MyAbstractClass implements MyClassInterface

我收到自动加载错误:

Attempted to load class "MyClass" from namespace "App\Entities".  
Did you forget a "use" statement for another namespace? 

日志中的一行:

Error thrown while running command "myproject:mycommand". Message: "Class 'App\Entities\MyClass' not found" ...

如果我使用:

class MyClass extends MyAbstractClass

class MyClass implements MyClassInterface

class MyClass extends MyAbstractClass implements MyClassInterface

然后错误消失了-一切正常。

仅当我使用时才会出现错误

class MyAbstractClass implements MyClassInterface

如何解决此问题?

我需要使抽象类实现一个接口,因此任何扩展AbstractClass的类都将与该接口兼容。

PHP 7.4.1(cli)

php symfony autoload psr-4 symfony5
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.