league / flysystem-adapter-decorator
A base implementation of a flysystem adapter decorator
Installs: 120 464
Dependents: 2
Suggesters: 0
Security: 0
Stars: 16
Watchers: 5
Forks: 2
Open Issues: 1
Requires
- php: >=5.4.0
- league/flysystem: ~1.0
Requires (Dev)
- henrikbjorn/phpspec-code-coverage: ~1.0.1
- phpspec/phpspec: ~2.0.0
This package is auto-updated.
Last update: 2024-11-06 09:02:17 UTC
README
This package provides a default adapter decorator. In most cases decorators
only influence a particular part of the interface. The trait
provided by
this package provides the default implementation for the methods which the
decorator is not concerned with.
Installation
composer require league/flysystem-adapter-decorator
Creating Decorators
<?php use League\Flysystem\AdapterDecorator\DecoratorTrait; use League\Flysystem\AdapterInterface; use League\Flysystem\Config; class MyDecorator implements AdapterInterface { use DecoratorTrait; protected $adapter; public function __construct(AdapterInterface $adapter) { $this->adapter = $adapter; } // Required method to implement protected function getDecoratedAdapter() { return $this->adapter; } // Add your decorator methods here... public function write($path, $contents, Config $config) { $contents = funky_encryption($contents); return $this->getDecoratedAdapter()->write($path, $contents, $config); } }
Using Decorators
<?php use League\Flysystem\Adapter\Local; use League\Flysystem\Filesystem; $adapter = new Local($root); $decoratedAdapter = new MyDecorator($adapter); $filesystem = new Filesystem($decoratedAdapter); // Use the Flysystem as you normally would.