<?php namespace Knp\Bundle\GaufretteBundle; /** * Holds references to all declared filesystems * and allows to access them through their name */ class FilesystemMap { /** * Map of filesystems indexed by their name * * @var array */ protected $map; /** * Instanciates a new filesystem map * * @param array $map */ public function __construct(array $map) { $this->map = $map; } /** * @param string $name name of a filesystem * @throw \InvalidArgumentException if the filesystem does not exist * @return Filesystem */ public function get($name) { if (!isset($this->map[$name])) { throw new \InvalidArgumentException(sprintf('No filesystem register for name "%s"', $name)); } return $this->map[$name]; } }