chevere / writer
Tooling for writing to streams
Installs: 5 292
Dependents: 2
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
Requires
- php: ^8.1
- nyholm/psr7: ^1.5
Requires (Dev)
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^9.5
- symplify/easy-coding-standard: ^11.1
README
Summary
Writer provides tooling for writing to streams.
Installing
Writer is available through Packagist and the repository source is at chevere/writer.
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.
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
Documentation
Documentation is available at chevere.org.
License
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.