Writer provides tooling for writing to streams.
Writer is available through Packagist and the repository source is at chevere/writer.
composer require chevere/writer
Use function streamFor
to create an stream.
use function Chevere\Writer\streamFor;
$stream = streamFor(
stream: 'php://temp',
mode: 'r+'
);
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();
$writers->error();
$writers->debug();
$writers->log();
Use output
to interact with the output stream. Use withOutput
to set a custom output stream.
$with = $writers->withOutput($stream);
$with->output(); // $stream
Use error
to interact with the error stream. Use withError
to set a custom error stream.
$with = $writers->withError($stream);
$with->error(); // $stream
Use debug
to interact with the debug stream. Use withDebug
to set a custom debug stream.
$with = $writers->withDebug($stream);
$with->debug(); // $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 chevere.org.
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.