| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | 
							- <?php
 
- declare(strict_types = 1);
 
- namespace BaconQrCode;
 
- use BaconQrCode\Common\ErrorCorrectionLevel;
 
- use BaconQrCode\Encoder\Encoder;
 
- use BaconQrCode\Exception\InvalidArgumentException;
 
- use BaconQrCode\Renderer\RendererInterface;
 
- /**
 
-  * QR code writer.
 
-  */
 
- final class Writer
 
- {
 
-     /**
 
-      * Renderer instance.
 
-      *
 
-      * @var RendererInterface
 
-      */
 
-     private $renderer;
 
-     /**
 
-      * Creates a new writer with a specific renderer.
 
-      */
 
-     public function __construct(RendererInterface $renderer)
 
-     {
 
-         $this->renderer = $renderer;
 
-     }
 
-     /**
 
-      * Writes QR code and returns it as string.
 
-      *
 
-      * Content is a string which *should* be encoded in UTF-8, in case there are
 
-      * non ASCII-characters present.
 
-      *
 
-      * @throws InvalidArgumentException if the content is empty
 
-      */
 
-     public function writeString(
 
-         string $content,
 
-         string $encoding = Encoder::DEFAULT_BYTE_MODE_ECODING,
 
-         ?ErrorCorrectionLevel $ecLevel = null
 
-     ) : string {
 
-         if (strlen($content) === 0) {
 
-             throw new InvalidArgumentException('Found empty contents');
 
-         }
 
-         if (null === $ecLevel) {
 
-             $ecLevel = ErrorCorrectionLevel::L();
 
-         }
 
-         return $this->renderer->render(Encoder::encode($content, $ecLevel, $encoding));
 
-     }
 
-     /**
 
-      * Writes QR code to a file.
 
-      *
 
-      * @see Writer::writeString()
 
-      */
 
-     public function writeFile(
 
-         string $content,
 
-         string $filename,
 
-         string $encoding = Encoder::DEFAULT_BYTE_MODE_ECODING,
 
-         ?ErrorCorrectionLevel $ecLevel = null
 
-     ) : void {
 
-         file_put_contents($filename, $this->writeString($content, $encoding, $ecLevel));
 
-     }
 
- }
 
 
  |