| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | 
							- <?php
 
- declare(strict_types=1);
 
- /*
 
-  * (c) Jeroen van den Enden <info@endroid.nl>
 
-  *
 
-  * This source file is subject to the MIT license that is bundled
 
-  * with this source code in the file LICENSE.
 
-  */
 
- namespace Endroid\QrCode\Writer;
 
- use Endroid\QrCode\QrCodeInterface;
 
- use Exception;
 
- use ReflectionClass;
 
- class DebugWriter extends AbstractWriter
 
- {
 
-     public function writeString(QrCodeInterface $qrCode): string
 
-     {
 
-         $data = [];
 
-         $skip = ['getData'];
 
-         $reflectionClass = new ReflectionClass($qrCode);
 
-         foreach ($reflectionClass->getMethods() as $method) {
 
-             $methodName = $method->getShortName();
 
-             if (0 === strpos($methodName, 'get') && 0 == $method->getNumberOfParameters() && !in_array($methodName, $skip)) {
 
-                 $value = $qrCode->{$methodName}();
 
-                 if (is_array($value) && !is_object(current($value))) {
 
-                     $value = '['.implode(', ', $value).']';
 
-                 } elseif (is_bool($value)) {
 
-                     $value = $value ? 'true' : 'false';
 
-                 } elseif (is_string($value)) {
 
-                     $value = '"'.$value.'"';
 
-                 } elseif (is_null($value)) {
 
-                     $value = 'null';
 
-                 }
 
-                 try {
 
-                     $data[] = $methodName.': '.$value;
 
-                 } catch (Exception $exception) {
 
-                 }
 
-             }
 
-         }
 
-         $string = implode(" \n", $data);
 
-         return $string;
 
-     }
 
-     public static function getContentType(): string
 
-     {
 
-         return 'text/plain';
 
-     }
 
-     public function getName(): string
 
-     {
 
-         return 'debug';
 
-     }
 
- }
 
 
  |