У меня есть абстрактный класс, в котором я хочу вызвать метод из класса, который объявлен в дочернем (расширяющем) классе.Пример выглядит следующим образом:
Абстрактный класс:
abstract class NumberGenerator
{
protected function generate($input){
return MyClass::MyMethod($input);
}
}
Мой дочерний / расширяющий класс:
use TomsFolder\MyClass;
use MyFolder\NumberGenerator;
class TomsNumberGenerator extends NumberGenerator
{
public function generate(string $applicantId): string
{
return $this->generate();
}
}
Другой дочерний / расширяющий класс:
use DavesFolder\MyClass;
use MyFolder\NumberGenerator;
class DavesNumberGenerator extends NumberGenerator
{
public function generate(string $applicantId): string
{
return $this->generate();
}
}
Итак, я хочу вызвать MyClass :: MyMethod в NumberGenerator.Однако он импортируется только в TomsNumberGenerator.
Причина, по которой я хочу это сделать, заключается в том, что у меня есть классы, такие как DavesNumberGenerator, который вызывает другой MyClass.
Когда я пытаюсь это сделать, я получаю 'MyClass не найден в NumberGenerator '.Есть ли способ заставить эту работу?