vendor/oneup/flysystem-bundle/src/DependencyInjection/Factory/Adapter/LocalFactory.php line 33

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Oneup\FlysystemBundle\DependencyInjection\Factory\Adapter;
  4. use League\Flysystem\Local\LocalFilesystemAdapter;
  5. use Oneup\FlysystemBundle\DependencyInjection\Factory\AdapterFactoryInterface;
  6. use Symfony\Component\Config\Definition\Builder\NodeDefinition;
  7. use Symfony\Component\DependencyInjection\ChildDefinition;
  8. use Symfony\Component\DependencyInjection\ContainerBuilder;
  9. class LocalFactory implements AdapterFactoryInterface
  10. {
  11. public function getKey(): string
  12. {
  13. return 'local';
  14. }
  15. public function create(ContainerBuilder $container, string $id, array $config): void
  16. {
  17. $container
  18. ->setDefinition($id, new ChildDefinition('oneup_flysystem.adapter.local'))
  19. ->setLazy($config['lazy'])
  20. ->replaceArgument(0, $config['location'])
  21. ->replaceArgument(1, $config['visibilityConverter'])
  22. ->replaceArgument(2, $config['writeFlags'])
  23. ->replaceArgument(3, $config['linkHandling'])
  24. ->replaceArgument(4, $config['mimeTypeDetector'])
  25. ;
  26. }
  27. public function addConfiguration(NodeDefinition $node): void
  28. {
  29. $node
  30. ->children()
  31. ->booleanNode('lazy')->defaultValue(false)->end()
  32. ->scalarNode('location')->isRequired()->end()
  33. ->scalarNode('visibilityConverter')->defaultNull()->end()
  34. ->scalarNode('writeFlags')->defaultValue(\LOCK_EX)->end()
  35. ->scalarNode('linkHandling')->defaultValue(LocalFilesystemAdapter::DISALLOW_LINKS)->end()
  36. ->scalarNode('mimeTypeDetector')->defaultNull()->end()
  37. ->end()
  38. ;
  39. }
  40. }