當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Twig_Environment::getNodeVisitors方法代碼示例

本文整理匯總了PHP中Twig_Environment::getNodeVisitors方法的典型用法代碼示例。如果您正苦於以下問題:PHP Twig_Environment::getNodeVisitors方法的具體用法?PHP Twig_Environment::getNodeVisitors怎麽用?PHP Twig_Environment::getNodeVisitors使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Twig_Environment的用法示例。


在下文中一共展示了Twig_Environment::getNodeVisitors方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: setEnvironment

 public function setEnvironment(Twig_Environment $env)
 {
     $this->env = $env;
     $this->handlers = array();
     $this->visitors = array();
     // tag handlers
     foreach ($this->env->getTokenParsers() as $handler) {
         $handler->setParser($this);
         $this->handlers[$handler->getTag()] = $handler;
     }
     // node visitors
     $this->visitors = $env->getNodeVisitors();
 }
開發者ID:juraj-blahunka,項目名稱:Framework-Packages,代碼行數:13,代碼來源:Parser.php

示例2: testRemoveExtension

 public function testRemoveExtension()
 {
     $twig = new Twig_Environment(new Twig_Loader_String());
     $twig->addExtension(new Twig_Tests_EnvironmentTest_Extension());
     $twig->removeExtension('test');
     $this->assertFalse(array_key_exists('test', $twig->getTags()));
     $this->assertFalse(array_key_exists('foo_filter', $twig->getFilters()));
     $this->assertFalse(array_key_exists('foo_function', $twig->getFunctions()));
     $this->assertFalse(array_key_exists('foo_test', $twig->getTests()));
     $this->assertFalse(array_key_exists('foo_unary', $twig->getUnaryOperators()));
     $this->assertFalse(array_key_exists('foo_binary', $twig->getBinaryOperators()));
     $this->assertFalse(array_key_exists('foo_global', $twig->getGlobals()));
     $this->assertCount(2, $twig->getNodeVisitors());
 }
開發者ID:simonjodet,項目名稱:twig,代碼行數:14,代碼來源:EnvironmentTest.php

示例3: __construct

 /**
  * FileExtractor constructor.
  * @param \Twig_Environment $twig
  * @param LoggerInterface $logger
  * @param array $visitors
  */
 public function __construct(\Twig_Environment $twig, LoggerInterface $logger, array $visitors)
 {
     $this->twig = $twig;
     $this->visitors = $visitors;
     $this->setLogger($logger);
     $lexer = new Lexer();
     if (class_exists('PhpParser\\ParserFactory')) {
         $factory = new ParserFactory();
         $this->phpParser = $factory->create(ParserFactory::PREFER_PHP7, $lexer);
     } else {
         $this->phpParser = new Parser($lexer);
     }
     foreach ($this->twig->getNodeVisitors() as $visitor) {
         if ($visitor instanceof RemovingNodeVisitor) {
             $this->removingTwigVisitor = $visitor;
         }
         if ($visitor instanceof DefaultApplyingNodeVisitor) {
             $this->defaultApplyingTwigVisitor = $visitor;
         }
     }
 }
開發者ID:clytemnestra,項目名稱:JMSTranslationBundle,代碼行數:27,代碼來源:FileExtractor.php

示例4: testAddExtension

 public function testAddExtension()
 {
     $twig = new Twig_Environment($this->getMock('Twig_LoaderInterface'));
     $twig->addExtension(new Twig_Tests_EnvironmentTest_Extension());
     $this->assertArrayHasKey('test', $twig->getTags());
     $this->assertArrayHasKey('foo_filter', $twig->getFilters());
     $this->assertArrayHasKey('foo_function', $twig->getFunctions());
     $this->assertArrayHasKey('foo_test', $twig->getTests());
     $this->assertArrayHasKey('foo_unary', $twig->getUnaryOperators());
     $this->assertArrayHasKey('foo_binary', $twig->getBinaryOperators());
     $this->assertArrayHasKey('foo_global', $twig->getGlobals());
     $visitors = $twig->getNodeVisitors();
     $this->assertEquals('Twig_Tests_EnvironmentTest_NodeVisitor', get_class($visitors[2]));
 }
開發者ID:JohnnyEstilles,項目名稱:Twig,代碼行數:14,代碼來源:EnvironmentTest.php

示例5: extract

 private function extract($file, TwigFileExtractor $extractor = null)
 {
     if (!is_file($file = __DIR__ . '/Fixture/' . $file)) {
         throw new RuntimeException(sprintf('The file "%s" does not exist.', $file));
     }
     $env = new \Twig_Environment();
     $env->addExtension(new SymfonyTranslationExtension($translator = new IdentityTranslator(new MessageSelector())));
     $env->addExtension(new TranslationExtension($translator, true));
     $env->addExtension(new RoutingExtension(new UrlGenerator(new RouteCollection(), new RequestContext())));
     $env->addExtension(new FormExtension(new TwigRenderer(new TwigRendererEngine())));
     foreach ($env->getNodeVisitors() as $visitor) {
         if ($visitor instanceof DefaultApplyingNodeVisitor) {
             $visitor->setEnabled(false);
         }
         if ($visitor instanceof RemovingNodeVisitor) {
             $visitor->setEnabled(false);
         }
     }
     if (null === $extractor) {
         $extractor = new TwigFileExtractor($env);
     }
     $ast = $env->parse($env->tokenize(file_get_contents($file), $file));
     $catalogue = new MessageCatalogue();
     $extractor->visitTwigFile(new \SplFileInfo($file), $catalogue, $ast);
     return $catalogue;
 }
開發者ID:pixel-cookers,項目名稱:JMSTranslationBundle,代碼行數:26,代碼來源:TwigFileExtractorTest.php

示例6: testRemoveExtension

 /**
  * @group legacy
  */
 public function testRemoveExtension()
 {
     $twig = new Twig_Environment($this->getMockBuilder('Twig_LoaderInterface')->getMock());
     $twig->addExtension(new Twig_Tests_EnvironmentTest_Extension_WithDeprecatedName());
     $twig->removeExtension('environment_test');
     $this->assertFalse(array_key_exists('test', $twig->getTags()));
     $this->assertFalse(array_key_exists('foo_filter', $twig->getFilters()));
     $this->assertFalse(array_key_exists('foo_function', $twig->getFunctions()));
     $this->assertFalse(array_key_exists('foo_test', $twig->getTests()));
     $this->assertFalse(array_key_exists('foo_unary', $twig->getUnaryOperators()));
     $this->assertFalse(array_key_exists('foo_binary', $twig->getBinaryOperators()));
     $this->assertFalse(array_key_exists('foo_global', $twig->getGlobals()));
     $this->assertCount(2, $twig->getNodeVisitors());
 }
開發者ID:bigbitecreative,項目名稱:wordpress-git-content,代碼行數:17,代碼來源:EnvironmentTest.php


注:本文中的Twig_Environment::getNodeVisitors方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。