Beispiel #1
0
 /**
  * @param DelayedOutput $value
  * @return DelayedOutput
  */
 public function render($value)
 {
     header('Content-Encoding: none;');
     header('X-Accel-Buffering: no');
     ob_end_flush();
     $value->surroundWith("<pre>", "</pre>");
     $value->setPrinter(function ($string) {
         echo $string;
         $length = strlen($string);
         if (self::$bufferSize > $length) {
             echo str_repeat("", self::$bufferSize - $length + 1);
         }
         flush();
         ob_flush();
     });
     return $value;
 }
Beispiel #2
0
 /**
  * @param DelayedOutput $value
  * @return DelayedOutput
  */
 public function render($value)
 {
     header('Content-Encoding: none;');
     header('X-Accel-Buffering: no');
     ob_end_flush();
     $value->setPrinter(function ($string) {
         echo $string;
         $length = strlen($string);
         if (self::$bufferSize > $length) {
             echo str_repeat("", self::$bufferSize - $length + 1);
         }
         flush();
         ob_flush();
     });
     $value->setExceptionHandler(function (\Exception $exception) {
         echo '</pre>';
         echo new Element('div', ['class' => 'alert alert-danger'], [htmlentities($exception->getMessage())]);
     });
     return new DelayedOutput(function () use($value) {
         $value->write('<pre>');
         $value->__toString();
         $value->write('</pre>');
     });
 }