public function getGeneratorForModule(ModuleInterface $module)
    {
        $type       = $module->getModularType();
        $collection = $this->getRouteCollectionForType($type);

        if (array_key_exists($type, $this->generators)) {
            return $this->generators[$type];
        }

        if (null === $this->options['cache_dir']) {
            return $this->generators[$type] = new $this->options['generator_class']($collection, $this->context, $this->logger);
        }

        $cacheClass = sprintf('%s_UrlGenerator', $type);

        $cache = $this->getConfigCacheFactory()->cache($this->options['cache_dir'] . '/' . $cacheClass .'.php',
            function (ConfigCacheInterface $cache) use ($cacheClass, $collection) {
                /** @var GeneratorDumperInterface $dumper */
                $dumper = new $this->options['generator_dumper_class']($collection);

                $options = [
                    'class'      => $cacheClass,
                    'base_class' => $this->options['generator_base_class'],
                ];

                $cache->write($dumper->dump($options), $collection->getResources());
            }
        );

        require_once $cache->getPath();

        return $this->generators[$type] = new $cacheClass($this->context, $this->logger);
    }
public function getGeneratorForModule(ModuleInterface $module)
    {
        $type       = $module->getModularType();
        $collection = $this->getRouteCollectionForType($type);

        if (array_key_exists($type, $this->generators)) {
            return $this->generators[$type];
        }

        if (null === $this->options['cache_dir']) {
            return $this->generators[$type] = new $this->options['generator_class']($collection, $this->context, $this->logger);
        }

        $cacheClass = sprintf('%s_UrlGenerator', $type);

        $cache = $this->getConfigCacheFactory()->cache($this->options['cache_dir'] . '/' . $cacheClass .'.php',
            function (ConfigCacheInterface $cache) use ($cacheClass, $collection) {
                /** @var GeneratorDumperInterface $dumper */
                $dumper = new $this->options['generator_dumper_class']($collection);

                $options = [
                    'class'      => $cacheClass,
                    'base_class' => $this->options['generator_base_class'],
                ];

                $cache->write($dumper->dump($options), $collection->getResources());
            }
        );

        require_once $cache->getPath();

        return $this->generators[$type] = new $cacheClass($this->context, $this->logger);
    }
public function getGeneratorForModule ( ModuleInterface $ module ) { $ type = $ module -> getModularType ( ) ; $ collection = $ this -> getRouteCollectionForType ( $ type ) ; if ( array_key_exists ( $ type , $ this -> generators ) ) { return $ this -> generators [ $ type ] ; } if ( null === $ this -> options [ 'cache_dir' ] ) { return $ this -> generators [ $ type ] = new $ this -> options [ 'generator_class' ] ( $ collection , $ this -> context , $ this -> logger ) ; } $ cacheClass = sprintf ( '%s_UrlGenerator' , $ type ) ; $ cache = $ this -> getConfigCacheFactory ( ) -> cache ( $ this -> options [ 'cache_dir' ] . '/' . $ cacheClass . '.php' , function ( ConfigCacheInterface $ cache ) use ( $ cacheClass , $ collection ) { /** @var GeneratorDumperInterface $dumper */ $ dumper = new $ this -> options [ 'generator_dumper_class' ] ( $ collection ) ; $ options = [ 'class' => $ cacheClass , 'base_class' => $ this -> options [ 'generator_base_class' ] , ] ; $ cache -> write ( $ dumper -> dump ( $ options ) , $ collection -> getResources ( ) ) ; } ) ; require_once $ cache -> getPath ( ) ; return $ this -> generators [ $ type ] = new $ cacheClass ( $ this -> context , $ this -> logger ) ; }
Returns a generator for a module.

@param ModuleInterface $module

@return UrlGeneratorInterface
Returns a generator for a module .