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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Antoine Hérault
						Antoine Hérault