# Writer
# Summary
Writer provides tooling for writing to streams.
# Installing
Writer is available through Packagist (opens new window) and the repository source is at chevere/writer (opens new window).
composer require chevere/writer
# Streams
# Stream for
Use function streamFor to create an stream.
use function Chevere\Writer\streamFor;
$stream = streamFor(
stream: 'php://temp',
mode: 'r+'
);
# Stream temp
Use function streamTemp to create a temp stream (rw+).
use function Chevere\Writer\streamTemp;
$stream = streamTemp($content);
# StreamWriter
Use StreamWriter to write strings to a stream.
use Chevere\Writer\StreamWriter;
use function Chevere\Writer\streamFor;
$stream = streamFor('php://output', 'r');
$writer = new StreamWriter($stream);
$writer->write('Hello, world!');
# NullWriter
Use NullWriter when requiring null write override.
# Writers
Use Writers to interact with pre-defined streams for output, error, debug and log. By default only output and error streams are defined.
| Stream | Default |
|---|---|
| output | StreamWriter |
| error | StreamWriter |
| debug | NullWriter |
| log | NullWriter |
use Chevere\Writer\Writers;
$writers = new Writers();
$writers->error();
$writers->debug();
$writers->log();
# Output stream
Use output to interact with the output stream. Use withOutput to set a custom output stream.
$with = $writers->withOutput($stream);
$with->output(); // $stream
# Error stream
Use error to interact with the error stream. Use withError to set a custom error stream.
$with = $writers->withError($stream);
$with->error(); // $stream
# Debug stream
Use debug to interact with the debug stream. Use withDebug to set a custom debug stream.
$with = $writers->withDebug($stream);
$with->debug(); // $stream
# Log stream
Use log to interact with the log stream. Use withLog to set a custom log stream.
$with = $writers->withLog($stream);
$with->log(); // $stream