В
Size: a a a
В
AB
В
В
AB
DS
public function getPDF(Factory $factory)
{
$handler = $factory->create(FirstTypePDFHandler::class);
}
AB
public function getPDF(Factory $factory)
{
$handler = $factory->create(FirstTypePDFHandler::class);
}
DS
$factory->create(FirstTypePDFHandler::class, ['someparam' => 42]);
AB
СП
AB
DS
В
В
$factory->create(FirstTypePDFHandler::class, ['someparam' => 42]);
, я все равно предпочту написать под это свою фабрику.AB
public function get(string $id): GeneratorInterface
{
return parent::
get($id);
}
В
public function get(string $id): GeneratorInterface
{
return parent::
get($id);
}
AB
AB
DS
$factory->create(FirstTypePDFHandler::class, ['someparam' => 42]);
, я все равно предпочту написать под это свою фабрику.$handlerFactory->createFor($document);
В
get
, определяющим возвращаемое значение, внутренняя реализация этого класса для использующего его сервиса действительно неважна, хоть от контейнера наследуйся. Просто в предложенной тобой реализации те же самые проблемы будут на другом уровне, на уровне твоего сервис локатора, т.к. он теперь зависит (даже хуже: наследуется) от непойми чего.