Sulu\Component\Webspace\Manager\WebspaceManager::getWebspaceCollection PHP Метод

getWebspaceCollection() публичный Метод

Returns all the webspaces managed by this specific instance.
public getWebspaceCollection ( ) : WebspaceCollection
Результат WebspaceCollection
    public function getWebspaceCollection()
    {
        if ($this->webspaceCollection === null) {
            $class = $this->options['cache_class'];
            $cache = new ConfigCache($this->options['cache_dir'] . '/' . $class . '.php', $this->options['debug']);
            if (!$cache->isFresh()) {
                $webspaceCollectionBuilder = new WebspaceCollectionBuilder($this->loader, $this->urlReplacer, $this->options['config_dir']);
                $webspaceCollection = $webspaceCollectionBuilder->build();
                $dumper = new PhpWebspaceCollectionDumper($webspaceCollection);
                $cache->write($dumper->dump(['cache_class' => $class, 'base_class' => $this->options['base_class']]), $webspaceCollection->getResources());
            }
            require_once $cache->getPath();
            $this->webspaceCollection = new $class();
        }
        return $this->webspaceCollection;
    }

Usage Example

Пример #1
0
 public function testInvalidPart()
 {
     $this->logger = $this->getMockForAbstractClass('\\Psr\\Log\\LoggerInterface', [], '', true, true, true, ['warning']);
     $this->logger->expects($this->once())->method('warning')->will($this->returnValue(null));
     $this->webspaceManager = new WebspaceManager($this->loader, $this->logger, ['cache_dir' => __DIR__ . '/../../../../Resources/cache', 'config_dir' => __DIR__ . '/../../../../Resources/DataFixtures/Webspace/both', 'cache_class' => 'WebspaceCollectionCache' . uniqid()]);
     $webspaces = $this->webspaceManager->getWebspaceCollection();
     $this->assertEquals(2, $webspaces->length());
     $webspace = $webspaces->getWebspace('massiveart');
     $this->assertEquals('Massive Art', $webspace->getName());
     $this->assertEquals('massiveart', $webspace->getKey());
     $webspace = $webspaces->getWebspace('sulu_io');
     $this->assertEquals('Sulu CMF', $webspace->getName());
     $this->assertEquals('sulu_io', $webspace->getKey());
 }