Download the PHP package webalternatif/flysystem-dsn-bundle without Composer
On this page you can find all versions of the php package webalternatif/flysystem-dsn-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download webalternatif/flysystem-dsn-bundle
More information about webalternatif/flysystem-dsn-bundle
Files in webalternatif/flysystem-dsn-bundle
Package flysystem-dsn-bundle
Short Description A bundle to build Flysystem adapters from DSN (Data Source Name).
License MIT
Informations about the package flysystem-dsn-bundle
Flysystem DSN bundle
This bundle integrates the Flysystem DSN library with Symfony, allowing the creation of adapters as services with DSN from the configuration.
Installation
Make sure Composer is installed globally, as explained in the installation chapter of the Composer documentation.
Applications that use Symfony Flex
Open a command console, enter your project directory and execute:
Applications that don't use Symfony Flex
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles in the
config/bundles.php file of your project:
Usage
Adapters are configured under the webf_flysystem_dsn.adapters Symfony config
path, and are then available as services with id
webf_flysystem_dsn.adapter.{name}:
In addition to available adapters from webalternatif/flysystem-dsn, this
bundle provides a Symfony-specific DSN service://service_id to which you must
provide an identifier that references an external service (that must be a
Flysystem adapter). It could be useful if you already have adapter services,
and you want to inject them into a composed adapter like failover:
failover(service://external_service_id ...).
Integration with Flysystem bundles
As explained above, this bundle only provides services that are Flysystem
adapters, but they're not usable as is. Generally you'll have to use another
bundle that provide FilesystemOperator instances.
The two best known are oneup/flysystem-bundle and
league/flysystem-bundle, here is some examples of configuration for those
two bundles (considering the webf_flysystem_dsn configuration above).
oneup/flysystem-bundle
league/flysystem-bundle
Integration with webalternatif/flysystem-failover-bundle
If webalternatif/flysystem-failover-bundle is installed, the
failover DSN function becomes available and all configured failover
adapters are registered so that they can be used in webf:flysystem-failover:*
Symfony commands.
Using failover DSN function nested in others
In order to use the failover DSN function as parameter of other DSN functions,
adapters created by the corresponding factories must implement
CompositeFilesystemAdapter from webalternatif/flysystem-composite.
Without that, the bundle wouldn't be able to register them, and they won't be
usable in webf:flysystem-failover:* Symfony commands.
Using your own DSN
If you want to use your own DSN to build your own Flysystem adapters, you can
create an adapter factory service that implement
Webf\Flysystem\Dsn\FlysystemAdapterFactoryInterface.
To register the factory, either you have autoconfiguration enabled, or you
have to tag your service with webf_flysystem_dsn.adapter_factory (also
available in PHP with
Webf\Flysystem\DsnBundle\DependencyInjection\WebfFlysystemDsnExtension::ADAPTER_FACTORY_TAG_NAME).
Tests
To run all tests, execute the command:
This will run Psalm, PHPUnit, Infection and a PHP-CS-Fixer check, but you can run them individually like this:
All versions of flysystem-dsn-bundle with dependencies
psr/container Version ^1.1 || ^2.0
symfony/config Version ^4.4 || ^5.3 || ^6.0 || ^7.0
symfony/dependency-injection Version ^4.4 || ^5.3 || ^6.0 || ^7.0
symfony/http-kernel Version ^4.4 || ^5.3 || ^6.0 || ^7.0
webalternatif/flysystem-composite Version ^0.3.0
webalternatif/flysystem-dsn Version ^0.7.0