diff --git a/examples/custom.php b/examples/custom.php index be1f14383..c70633715 100644 --- a/examples/custom.php +++ b/examples/custom.php @@ -4,25 +4,36 @@ require_once '../vendor/autoload.php'; use chillerlan\QRCode\QRCode; use chillerlan\QRCode\QROptions; -use chillerlan\QRCode\Output\QRString; -use chillerlan\QRCode\Output\QRStringOptions; +use chillerlan\QRCode\Output\QROutputBase; +use chillerlan\QRCode\Output\QROutputInterface; + + +/** + * Class MyCustomOutput + */ +class MyCustomOutput extends QROutputBase implements QROutputInterface{ + + /** + * @return mixed + * @throws \chillerlan\QRCode\Output\QRCodeOutputException + */ + public function dump(){ + + $output = ''; + + for($row = 0; $row < $this->pixelCount; $row++){ + for($col = 0; $col < $this->pixelCount; $col++){ + $output .= (string)(int)$this->matrix[$row][$col]; + } + } + + return $output; + } + +} $starttime = microtime(true); -$qrOptions = new QROptions; -$qrOptions->typeNumber = QRCode::TYPE_05; -$qrOptions->errorCorrectLevel = QRCode::ERROR_CORRECT_LEVEL_M; +echo (new QRCode('otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net', new MyCustomOutput))->output(); -$qrStringOptions = new QRStringOptions; -$qrStringOptions->type = QRCode::OUTPUT_STRING_TEXT; -$qrStringOptions->textDark = '#'; -$qrStringOptions->textLight = ' '; - -// google authenticator -// https://chart.googleapis.com/chart?chs=200x200&chld=M%7C0&cht=qr&chl=otpauth%3A%2F%2Ftotp%2Ftest%3Fsecret%3DB3JX4VCVJDVNXNZ5%26issuer%3Dchillerlan.net -$qrcode = new QRCode('otpauth://totp/test?secret=B3JX4VCVJDVNXNZ5&issuer=chillerlan.net', new QRString($qrStringOptions), $qrOptions); -echo '
'.$qrcode->output().''; - -echo '
'.print_r($qrcode->getRawData(), true).''; - -echo 'QRCode: '.round((microtime(true)-$starttime), 5).PHP_EOL; +echo PHP_EOL.'QRCode: '.round((microtime(true)-$starttime), 5);