/** * 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; }
/** * 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; }