public function testGetNamespaces() { $loader = new Twig_Loader_Filesystem(sys_get_temp_dir()); $this->assertEquals(array(Twig_Loader_Filesystem::MAIN_NAMESPACE), $loader->getNamespaces()); $loader->addPath(sys_get_temp_dir(), 'named'); $this->assertEquals(array(Twig_Loader_Filesystem::MAIN_NAMESPACE, 'named'), $loader->getNamespaces()); }
public function testGetNamespaces() { $loader = new Twig_Loader_Filesystem(sys_get_temp_dir()); $this->assertEquals(array('__main__'), $loader->getNamespaces()); $loader->addPath(sys_get_temp_dir(), 'named'); $this->assertEquals(array('__main__', 'named'), $loader->getNamespaces()); }
public function dump() { $finder = new Finder(); $twigNamespaces = $this->loader->getNamespaces(); foreach ($twigNamespaces as $ns) { if (count($this->loader->getPaths($ns)) > 0) { $iterator = $finder->files()->in($this->loader->getPaths($ns)); foreach ($iterator as $file) { /** @var SplFileInfo $file */ $resource = new TwigResource($this->loader, '@' . $ns . '/' . $file->getRelativePathname()); $this->lam->addResource($resource, 'twig'); } } } foreach ($this->lam->getNames() as $name) { $asset = $this->lam->get($name); $formula = $this->lam->getFormula($name); $debug = isset($formula[2]['debug']) ? $formula[2]['debug'] : $this->lam->isDebug(); $combine = isset($formula[2]['combine']) ? $formula[2]['combine'] : null; if (null !== $combine ? !$combine : $debug) { foreach ($asset as $leaf) { $this->aw->writeAsset($leaf); } } else { $this->aw->writeAsset($asset); } } }
/** * TwigFilesystemProvider constructor. * @param \Twig_Loader_Filesystem $loader * @param string $root_path * @param string $namespace */ public function __construct(\Twig_Loader_Filesystem $loader, $root_path, $namespace) { $this->loader = $loader; $this->namespace = $namespace; if (!in_array($namespace, $loader->getNamespaces())) { $loader->addPath($root_path, $namespace); } }
/** * Get the template directories * * @return TemplatePath[] */ public function getPaths() { $paths = []; foreach ($this->twigLoader->getNamespaces() as $namespace) { $name = $namespace !== TwigFilesystem::MAIN_NAMESPACE ? $namespace : null; foreach ($this->twigLoader->getPaths($namespace) as $path) { $paths[] = new TemplatePath($path, $name); } } return $paths; }
/** * Get templates directories namespaces. * @return array An array of namespaces used to reference templates directories. */ public function getTemplatesNamespaces() { return $this->_loader->getNamespaces(); }