Server : Apache/2.4.43 (Win64) OpenSSL/1.1.1g PHP/7.4.6 System : Windows NT USER-PC 6.1 build 7601 (Windows 7 Professional Edition Service Pack 1) AMD64 User : User ( 0) PHP Version : 7.4.6 Disable Function : NONE Directory : C:/xampp/phpMyAdmin/vendor/bacon/bacon-qr-code/src/ |
<?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)); } }