commit
7e3596e5b6
52
DependencyInjection/Factory/MogileFSAdapterFactory.php
Normal file
52
DependencyInjection/Factory/MogileFSAdapterFactory.php
Normal file
|
@ -0,0 +1,52 @@
|
|||
<?php
|
||||
|
||||
namespace Knp\Bundle\GaufretteBundle\DependencyInjection\Factory;
|
||||
|
||||
use Symfony\Component\Config\Definition\Builder\NodeDefinition;
|
||||
use Symfony\Component\DependencyInjection\Reference;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\DependencyInjection\DefinitionDecorator;
|
||||
|
||||
/**
|
||||
* GridFS adapter factory
|
||||
*
|
||||
* @author Mikko Tarvainen 2011 <mtarvainen@gmail.com>
|
||||
*/
|
||||
class MogileFSAdapterFactory implements AdapterFactoryInterface
|
||||
{
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function create(ContainerBuilder $container, $id, array $config)
|
||||
{
|
||||
$container
|
||||
->setDefinition($id, new DefinitionDecorator('knp_gaufrette.adapter.mogilefs'))
|
||||
->replaceArgument(0, $config['domain'])
|
||||
->replaceArgument(1, $config['hosts'])
|
||||
;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function getKey()
|
||||
{
|
||||
return 'mogilefs';
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function addConfiguration(NodeDefinition $node)
|
||||
{
|
||||
$node
|
||||
->children()
|
||||
->scalarNode('domain')->isRequired()->cannotBeEmpty()->end()
|
||||
->arrayNode('hosts')
|
||||
->requiresAtLeastOneElement()
|
||||
->prototype('scalar')->end()
|
||||
->end()
|
||||
->end()
|
||||
;
|
||||
}
|
||||
}
|
|
@ -221,7 +221,7 @@ knp_gaufrette:
|
|||
|
||||
## GridFS (gridfs)
|
||||
|
||||
Allows you to use a gridfs as an adapter.
|
||||
Adapter that allows you to use a MongoDB GridFS for storing files.
|
||||
|
||||
### Parameters
|
||||
|
||||
|
@ -260,5 +260,27 @@ services:
|
|||
arguments: [@acme_test.mongodb, %acme_test.gridfs.prefix%]
|
||||
```
|
||||
|
||||
Note that it is possible to prepare MongoGridFS service anyway you like. This is just one way to do it.
|
||||
|
||||
## MogileFS (mogilefs)
|
||||
|
||||
Adapter that allows you to use MogileFS for storing files.
|
||||
|
||||
### Parameters
|
||||
|
||||
* `domain` MogileFS domain
|
||||
* `hosts` Available trackers
|
||||
|
||||
### Example
|
||||
|
||||
``` yaml
|
||||
# app/config/config.yml
|
||||
knp_gaufrette:
|
||||
adapters:
|
||||
foo:
|
||||
mogilefs:
|
||||
domain: foobar
|
||||
hosts: ["192.168.0.1:7001", "192.168.0.2:7001"]
|
||||
```
|
||||
|
||||
[gaufrette-homepage]: https://github.com/knplabs/Gaufrette
|
||||
|
|
|
@ -26,6 +26,10 @@
|
|||
<service id="knp_gaufrette.adapter.factory.gridfs" class="Knp\Bundle\GaufretteBundle\DependencyInjection\Factory\GridFSAdapterFactory">
|
||||
<tag name="gaufrette.adapter.factory" />
|
||||
</service>
|
||||
<service id="knp_gaufrette.adapter.factory.mogilefs" class="Knp\Bundle\GaufretteBundle\DependencyInjection\Factory\MogileFSAdapterFactory">
|
||||
<tag name="gaufrette.adapter.factory" />
|
||||
</service>
|
||||
|
||||
</services>
|
||||
|
||||
</container>
|
||||
|
|
|
@ -22,6 +22,10 @@
|
|||
<service id="knp_gaufrette.adapter.amazon_s3" class="Gaufrette\Adapter\AmazonS3" abstract="true" public="false" />
|
||||
<service id="knp_gaufrette.adapter.acl_aware_amazon_s3" class="Gaufrette\Adapter\AclAwareAmazonS3" abstract="true" public="false" />
|
||||
<service id="knp_gaufrette.adapter.gridfs" class="Gaufrette\Adapter\GridFS" abstract="true" public="false" />
|
||||
<service id="knp_gaufrette.adapter.mogilefs" class="Gaufrette\Adapter\MogileFS" abstract="true" public="false">
|
||||
<argument /><!-- domain -->
|
||||
<argument /><!-- hosts -->
|
||||
</service>
|
||||
<service id="knp_gaufrette.filesystem_map" class="Knp\Bundle\GaufretteBundle\FilesystemMap">
|
||||
<argument /> <!-- map of filesystems -->
|
||||
</service>
|
||||
|
|
Loading…
Reference in New Issue
Block a user