/** * @param ContainerInterface $container */ protected function register(ContainerInterface $container) { $core = $container->make('Kraken\\Core\\CoreInterface'); $config = $container->make('Kraken\\Config\\ConfigInterface'); $factory = new FilesystemAdapterFactory(); $fsCloud = new FilesystemManager(); $fsDisk = new Filesystem($factory->create('Local', [['path' => $core->getBasePath()]])); $disks = $config->get('filesystem.cloud'); foreach ($disks as $disk => $config) { $fsCloud->mountFilesystem($disk, new Filesystem($factory->create($config['class'], [$config['config']]))); } $container->instance('Kraken\\Filesystem\\FilesystemInterface', $fsDisk); $container->instance('Kraken\\Filesystem\\FilesystemFactoryInterface', new FilesystemFactory()); $container->instance('Kraken\\Filesystem\\FilesystemManagerInterface', $fsCloud); }