Provides extras functionality around Gaufrette like Resolvable filesystem.
ResolvableFilesystem
is a decorator permitting to resolve objects paths into URLs.
In order to use it, you have to pass the decorated Filesystem and a Resolver:
$client = // AwsS3 client instantiation
$decorated = new Filesystem(new AwsS3($client, 'my_bucket', ['directory' => 'root/dir']));
$filesystem = new ResolvableFilesystem(
$decorated,
new AwsS3PresignedUrlResolver($client, 'my_bucket', 'root/dir', new \DateTime('+ 1 hour'))
);
Then you can call resolve($key)
:
$filesystem->resolve('/foo.png'); // = 'https://...
Currently these resolvers are supported:
- AwsS3PublicUrlResolver
- AwsS3PresignedUrlResolver
- StaticUrlResolver