private function extract($directory) { $twig = new \Twig_Environment(); $twig->addExtension(new SymfonyTranslationExtension($translator = new IdentityTranslator(new MessageSelector()))); $twig->addExtension(new TranslationExtension($translator)); $docParser = new DocParser(); $docParser->setImports(array('desc' => 'JMS\\TranslationBundle\\Annotation\\Desc', 'meaning' => 'JMS\\TranslationBundle\\Annotation\\Meaning', 'ignore' => 'JMS\\TranslationBundle\\Annotation\\Ignore')); $docParser->setIgnoreNotImportedAnnotations(true); $factory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader())); $extractor = new FileExtractor($twig, new NullLogger(), array(new DefaultPhpFileExtractor($docParser), new TranslationContainerExtractor(), new TwigFileExtractor($twig), new ValidationExtractor($factory), new FormExtractor($docParser))); $extractor->setDirectory($directory); return $extractor->extract(); }
private function extract($directory) { $twig = new \Twig_Environment(); $twig->addExtension(new SymfonyTranslationExtension($translator = new IdentityTranslator(new MessageSelector()))); $twig->addExtension(new TranslationExtension($translator)); $loader = new \Twig_Loader_Filesystem(realpath(__DIR__ . "/Fixture/SimpleTest/Resources/views/")); $twig->setLoader($loader); $docParser = new DocParser(); $docParser->setImports(array('desc' => 'JMS\\TranslationBundle\\Annotation\\Desc', 'meaning' => 'JMS\\TranslationBundle\\Annotation\\Meaning', 'ignore' => 'JMS\\TranslationBundle\\Annotation\\Ignore')); $docParser->setIgnoreNotImportedAnnotations(true); //use correct factory class depending on whether using Symfony 2 or 3 if (class_exists('Symfony\\Component\\Validator\\Mapping\\Factory\\LazyLoadingMetadataFactory')) { $metadataFactoryClass = 'Symfony\\Component\\Validator\\Mapping\\Factory\\LazyLoadingMetadataFactory'; } else { $metadataFactoryClass = 'Symfony\\Component\\Validator\\Mapping\\ClassMetadataFactory'; } $factory = new $metadataFactoryClass(new AnnotationLoader(new AnnotationReader())); $extractor = new FileExtractor($twig, new NullLogger(), array(new DefaultPhpFileExtractor($docParser), new TranslationContainerExtractor(), new TwigFileExtractor($twig), new ValidationExtractor($factory), new FormExtractor($docParser))); $extractor->setDirectory($directory); return $extractor->extract(); }