Writer provides tooling for writing to streams.
Writer is available through Packagist and the repository source is at chevere/writer.
composer require chevere/writerUse 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(); // $streamUse error to interact with the error stream. Use withError to set a custom error stream.
$with = $writers->withError($stream);
$with->error(); // $streamUse debug to interact with the debug stream. Use withDebug to set a custom debug stream.
$with = $writers->withDebug($stream);
$with->debug(); // $streamUse log to interact with the log stream. Use withLog to set a custom log stream.
$with = $writers->withLog($stream);
$with->log(); // $streamDocumentation 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.