示例#1
0
文件: Transform.php 项目: jasny/Q
 /**
  * Callback for output handling.
  *
  * @param string|array $buffer
  * @param int          $flags
  * @return string|array
  */
 public function callback($buffer, $flags)
 {
     $marker = $this->opt & Output::IGNORE_MARKERS || is_array($buffer) ? null : Output::curMarker();
     // Directly flush the output
     if (!isset($marker)) {
         return $this->transform->process($buffer);
     }
     // Keep caching the output of flush
     $this->data[$marker] = $this->data;
     return $flags & PHP_OUTPUT_HANDLER_END ? $this->transform->process($this->data) : null;
 }
示例#2
0
文件: Cache.php 项目: jasny/Q
 /**
  * Callback for output handling.
  *
  * @param string|array $buffer
  * @param int          $flags
  * @return string|array
  */
 public function callback($buffer, $flags)
 {
     if (is_array($buffer)) {
         $this->data = $buffer;
     } else {
         $marker = Output::curMarker();
         if ($marker !== null) {
             if (!is_array($this->data)) {
                 $this->data = isset($this->data) ? array(Output::$defaultMarker => $this->data) : array();
             }
             $this->data[$marker] = $this->data;
         } else {
             $this->data .= $buffer;
         }
     }
     if ($flags & PHP_OUTPUT_HANDLER_END) {
         $this->cache->save(static::makeKey(), $this->data);
     }
     return false;
 }