vendor/endroid/qr-code/src/Writer/DebugWriter.php line 16

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Endroid\QrCode\Writer;
  4. use Endroid\QrCode\Bacon\MatrixFactory;
  5. use Endroid\QrCode\Label\LabelInterface;
  6. use Endroid\QrCode\Logo\LogoInterface;
  7. use Endroid\QrCode\QrCodeInterface;
  8. use Endroid\QrCode\Writer\Result\DebugResult;
  9. use Endroid\QrCode\Writer\Result\ResultInterface;
  10. final class DebugWriter implements WriterInterfaceValidatingWriterInterface
  11. {
  12.     public function write(QrCodeInterface $qrCodeLogoInterface $logo nullLabelInterface $label null, array $options = []): ResultInterface
  13.     {
  14.         $matrixFactory = new MatrixFactory();
  15.         $matrix $matrixFactory->create($qrCode);
  16.         return new DebugResult($matrix$qrCode$logo$label$options);
  17.     }
  18.     public function validateResult(ResultInterface $resultstring $expectedData): void
  19.     {
  20.         if (!$result instanceof DebugResult) {
  21.             throw new \Exception('Unable to write logo: instance of DebugResult expected');
  22.         }
  23.         $result->setValidateResult(true);
  24.     }
  25. }