vollbehr / php-reader-laravel
Laravel integration bridge for vollbehr/php-reader.
v2.0-rc1
2025-09-19 00:27 UTC
Requires
- php: ^8.2
- illuminate/support: ^10.0|^11.0
- vollbehr/php-reader: ^1.9
README
A Laravel-oriented service provider that exposes the vollbehr/php-reader
factory through the framework container and supports configuration publishing and optional facade aliases.
Installation
composer require vollbehr/php-reader-laravel
The provider is auto-discovered. To customise the default file mode, publish the configuration:
php artisan vendor:publish --tag=php-reader-config
Edit the generated config/php-reader.php
to override the default_file_mode
value.
Usage
Resolve the shared factory straight from the container. The example below matches the framework integration test and is easy to translate into a real application service:
use Illuminate\Config\Repository; use Illuminate\Container\Container; use Vollbehr\Bridge\Laravel\PhpReaderServiceProvider; use Vollbehr\Support\FileReaderFactory; final class StubApplication extends Container { public function configPath(string $path = ''): string { return sys_get_temp_dir() . DIRECTORY_SEPARATOR . ltrim($path, DIRECTORY_SEPARATOR); } } $app = new StubApplication(); $app->instance('config', new Repository([ 'php-reader' => [ 'default_file_mode' => 'rb', ], ])); $provider = new PhpReaderServiceProvider($app); $provider->register(); $provider->boot(); /** @var FileReaderFactory $factory */ $factory = $app->make(FileReaderFactory::class); $reader = $factory->open('/path/to/audio.mp3');
Versioning
Keep bridge releases aligned with the core package's major and minor versions to avoid dependency drift for downstream applications.