Tooling for writing to streams

1.0.1 2024-01-08 20:13 UTC

This package is auto-updated.

Last update: 2024-04-20 11:11:49 UTC


🔔 Subscribe to the newsletter to don't miss any update regarding Chevere.


Build Code size Apache-2.0 PHPStan Mutation testing badge

Quality Gate Status Maintainability Rating Reliability Rating Security Rating Coverage Technical Debt CodeFactor


Writer provides tooling for writing to streams.


Writer is available through Packagist and the repository source is at chevere/writer.

composer require chevere/writer


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);


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!');


Use NullWriter when requiring null write override.


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();

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


Documentation is available at


Copyright Rodolfo Berrios A.

Chevere is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.