From e548cbe3a47ec0a44a709c7bdda8b3bea50632d6 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Sun, 18 Sep 2016 18:36:04 -0700 Subject: [PATCH] deprecated some more methods on Twig_Environment --- CHANGELOG | 4 ++-- lib/Twig/Environment.php | 30 +++++++++++++++++++++++++++--- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index ab598698f..f5ac58408 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,6 @@ -* 1.24.3 (2016-XX-XX) +* 1.25.0 (2016-XX-XX) - * n/a + * deprecated Twig_Environment::getLexer(), Twig_Environment::getParser(), Twig_Environment::getCompiler() * 1.24.2 (2016-09-01) diff --git a/lib/Twig/Environment.php b/lib/Twig/Environment.php index 2721d8986..7ab370670 100644 --- a/lib/Twig/Environment.php +++ b/lib/Twig/Environment.php @@ -546,9 +546,13 @@ class Twig_Environment * Gets the Lexer instance. * * @return Twig_LexerInterface A Twig_LexerInterface instance + * + * @deprecated since 1.25 (to be removed in 2.0) */ public function getLexer() { + @trigger_error(sprintf('The %s() method is deprecated since version 1.25 and will be removed in 2.0.', __FUNCTION__), E_USER_DEPRECATED); + if (null === $this->lexer) { $this->lexer = new Twig_Lexer($this); } @@ -578,16 +582,24 @@ class Twig_Environment */ public function tokenize($source, $name = null) { - return $this->getLexer()->tokenize($source, $name); + if (null === $this->lexer) { + $this->lexer = new Twig_Lexer($this); + } + + return $this->lexer->tokenize($source, $name); } /** * Gets the Parser instance. * * @return Twig_ParserInterface A Twig_ParserInterface instance + * + * @deprecated since 1.25 (to be removed in 2.0) */ public function getParser() { + @trigger_error(sprintf('The %s() method is deprecated since version 1.25 and will be removed in 2.0.', __FUNCTION__), E_USER_DEPRECATED); + if (null === $this->parser) { $this->parser = new Twig_Parser($this); } @@ -616,16 +628,24 @@ class Twig_Environment */ public function parse(Twig_TokenStream $stream) { - return $this->getParser()->parse($stream); + if (null === $this->parser) { + $this->parser = new Twig_Parser($this); + } + + return $this->parser->parse($stream); } /** * Gets the Compiler instance. * * @return Twig_CompilerInterface A Twig_CompilerInterface instance + * + * @deprecated since 1.25 (to be removed in 2.0) */ public function getCompiler() { + @trigger_error(sprintf('The %s() method is deprecated since version 1.25 and will be removed in 2.0.', __FUNCTION__), E_USER_DEPRECATED); + if (null === $this->compiler) { $this->compiler = new Twig_Compiler($this); } @@ -652,7 +672,11 @@ class Twig_Environment */ public function compile(Twig_NodeInterface $node) { - return $this->getCompiler()->compile($node)->getSource(); + if (null === $this->compiler) { + $this->compiler = new Twig_Compiler($this); + } + + return $this->compiler->compile($node)->getSource(); } /**