Добрый день. Пример Проблемы:
class Entity
{
}
interface IFace
{
/**
* @return Entity[]
*/
public function get(): array;
}
class DTO
{
}
interface Repo
{
/**
* @return DTO[]
*/
public function get(): array;
}
class Impl implements IFace
{
private Repo $repo;
public function __construct(Repo $repo)
{
$this->repo = $repo;
}
/**
* @return Entity[]
*/
public function get(): array
{
return $this->repo->get();
}
}
Метод Impl::get не подсвечивается, как некорректный.
Если же убрать у IFace и Impl array из типа возвращаемого значения:
class Entity
{
}
interface IFace
{
/**
* @return Entity[]
*/
public function get();
}
class DTO
{
}
interface Repo
{
/**
* @return DTO[]
*/
public function get(): array;
}
class Impl implements IFace
{
private Repo $repo;
public function __construct(Repo $repo)
{
$this->repo = $repo;
}
/**
* @return Entity[]
*/
public function get()
{
return $this->repo->get();
}
}
То все подсвечивается корректно.
Раньше такой проблемы не наблюдалось, не заметил как появилась, настройки не менял, обновления все ставились автоматом. Пробовал сбросить настройки, создать другой проект - ничего не изменилось.
Можно ли решить?