Example #1
0
 public function testSupports()
 {
     $this->assertTrue($this->loader->supports('Resources/test.yml'));
     $this->assertTrue($this->loader->supports('Resources/test.yml', 'yaml'));
     $this->assertFalse($this->loader->supports('Resources/test.xml'));
     $this->assertFalse($this->loader->supports('Resources/test.xml', 'yaml'));
     $this->assertFalse($this->loader->supports('Resources/test'));
     $this->assertFalse($this->loader->supports('Resources/test', 'yaml'));
     $this->assertFalse($this->loader->supports('Resources/test.yaml', 'yaml'));
     $this->assertFalse($this->loader->supports('Resources/test.yaml'));
 }
Example #2
0
 /**
  * Loads the configuration data from a resource.
  *
  * @param mixed   $resource A resource.
  * @param string  $type     The resource type.
  * @param boolean $require  Require processing?
  *
  * @return array The data.
  *
  * @throws LoaderException If the loader could not be used.
  * @throws LogicException  If no loader has been configured.
  */
 public function load($resource, $type = null, $require = false)
 {
     if (null === $this->loader) {
         throw new LogicException('No loader has been configured.');
     }
     if (false === $this->loader->supports($resource, $type)) {
         throw LoaderException::format('The resource "%s"%s is not supported by the loader.', is_scalar($resource) ? $resource : gettype($resource), $type ? " ({$type})" : '');
     }
     if ($this->cacheDir && $this->collector && is_string($resource) && false === strpos("\n", $resource) && false === strpos("\r", $resource)) {
         $cache = new ConfigCache($this->cacheDir . DIRECTORY_SEPARATOR . basename($resource) . '.cache', $this->debug);
         if ($cache->isFresh()) {
             if (method_exists($cache, 'getPath')) {
                 /** @noinspection PhpIncludeInspection */
                 return require $cache->getPath();
             }
             /** @noinspection PhpIncludeInspection */
             return require $cache;
         }
     }
     if ($this->collector) {
         $this->collector->clearResources();
     }
     $data = $this->process($this->loader->load($resource, $type), $resource, $type, $require);
     if (isset($cache)) {
         $cache->write('<?php return ' . var_export($data, true) . ';', $this->collector->getResources());
     }
     return $data;
 }
 /**
  * Returns whether this class supports the given resource.
  *
  * @param mixed       $resource A resource
  * @param string|null $type     The resource type or null if unknown
  *
  * @return bool True if this class supports the given resource, false otherwise
  */
 public function supports($resource, $type = null)
 {
     return $this->routerLoader->supports($resource, $type);
 }