![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/bacon/bacon-qr-code/src/Common/ |
<?php declare(strict_types = 1); namespace BaconQrCode\Common; use BaconQrCode\Exception\OutOfBoundsException; use DASPRiD\Enum\AbstractEnum; /** * Enum representing the four error correction levels. * * @method static self L() ~7% correction * @method static self M() ~15% correction * @method static self Q() ~25% correction * @method static self H() ~30% correction */ final class ErrorCorrectionLevel extends AbstractEnum { protected const L = [0x01]; protected const M = [0x00]; protected const Q = [0x03]; protected const H = [0x02]; /** * @var int */ private $bits; protected function __construct(int $bits) { $this->bits = $bits; } /** * @throws OutOfBoundsException if number of bits is invalid */ public static function forBits(int $bits) : self { switch ($bits) { case 0: return self::M(); case 1: return self::L(); case 2: return self::H(); case 3: return self::Q(); } throw new OutOfBoundsException('Invalid number of bits'); } /** * Returns the two bits used to encode this error correction level. */ public function getBits() : int { return $this->bits; } }