vendor/endroid/qr-code-bundle/src/Controller/GenerateController.php line 12

  1. <?php
  2. declare(strict_types=1);
  3. namespace Endroid\QrCodeBundle\Controller;
  4. use Endroid\QrCode\Builder\Builder;
  5. use Endroid\QrCode\Builder\BuilderRegistryInterface;
  6. use Endroid\QrCodeBundle\Response\QrCodeResponse;
  7. use Symfony\Component\HttpFoundation\Response;
  8. final class GenerateController
  9. {
  10.     public function __construct(
  11.         private BuilderRegistryInterface $builderRegistry
  12.     ) {
  13.     }
  14.     public function __invoke(string $builderstring $data): Response
  15.     {
  16.         $builder $this->builderRegistry->getBuilder($builder);
  17.         if (!$builder instanceof Builder) {
  18.             throw new \Exception('This controller only handles Builder instances');
  19.         }
  20.         return new QrCodeResponse($builder->data($data)->build());
  21.     }
  22. }