/** * Dumps a Data object. * * @param Data $data A Data object * @param callable|resource|string|true|null $output A line dumper callable, an opened stream, an output path or true to return the dump * * @return string|null The dump as string when $output is true */ public function dump(Data $data, $output = null) { if ($returnDump = true === $output) { $output = fopen('php://memory', 'r+b'); } if ($output) { $prevOutput = $this->setOutput($output); } try { $data->dump($this); $this->dumpLine(-1); if ($returnDump) { $result = stream_get_contents($output, -1, 0); fclose($output); return $result; } } finally { if ($output) { $this->setOutput($prevOutput); } } }
/** * Dumps a Data object. * * @param Data $data A Data object * @param callable|resource|string|null $output A line dumper callable, an opened stream or an output path */ public function dump(Data $data, $output = null) { if ($output) { $prevOutput = $this->setOutput($output); } try { $data->dump($this); $this->dumpLine(-1); } finally { if ($output) { $this->setOutput($prevOutput); } } }
/** * Dumps a Data object. * * @param Data $data * A Data object. * @param callable|resource|string|null $output * A line dumper callable, an opened stream or an output path. */ public function dump(Data $data, $output = null) { $exception = null; if ($output) { $prevOutput = $this->setOutput($output); } try { $data->dump($this); $this->dumpLine(-1); } catch (\Exception $exception) { // Re-thrown below } if ($output) { $this->setOutput($prevOutput); } if (null !== $exception) { throw $exception; } }
/** * Dumps a Data object. * * @param Data $data A Data object. * @param callable|null $lineDumper A callback for writing dump's lines. */ public function dump(Data $data, $lineDumper = null) { $exception = null; if ($lineDumper) { $prevLineDumper = $this->setLineDumper($lineDumper); } try { $data->dump($this); $this->dumpLine(-1); } catch (\Exception $exception) { // Re-thrown below } if ($lineDumper) { $this->setLineDumper($prevLineDumper); } if (null !== $exception) { throw $exception; } }