symfony-storage/StorageBundle/Storage.php

37 lines
739 B
PHP

<?php
namespace Bluesquare\StorageBundle;
use Aws\S3\S3Client;
use Bluesquare\StorageBundle\Adaptors\S3Storage;
/**
* Interface de manipulation des stockages préconfigurés
* Usage par injection
*/
class Storage
{
private $config_storage = [];
public function __construct(array $user_config = [])
{
$this->config_storage = $user_config;
}
public function get($storage_name)
{
if (array_key_exists($storage_name, $this->config_storage))
{
$config = $this->config_storage[$storage_name];
switch ($config['type'])
{
case 's3': return (new S3Storage($storage_name, $config));
}
}
return (null);
}
}