В
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, определяющим возвращаемое значение, внутренняя реализация этого класса для использующего его сервиса действительно неважна, хоть от контейнера наследуйся. Просто в предложенной тобой реализации те же самые проблемы будут на другом уровне, на уровне твоего сервис локатора, т.к. он теперь зависит (даже хуже: наследуется) от непойми чего.