Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deprecated some more methods on Twig_Environment #2119

Merged
merged 1 commit into from Sep 19, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions 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)

Expand Down
30 changes: 27 additions & 3 deletions lib/Twig/Environment.php
Expand Up @@ -546,9 +546,13 @@ public function clearCacheFiles()
* 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);
}
Expand Down Expand Up @@ -578,16 +582,24 @@ public function setLexer(Twig_LexerInterface $lexer)
*/
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);
}
Expand Down Expand Up @@ -616,16 +628,24 @@ public function setParser(Twig_ParserInterface $parser)
*/
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);
}
Expand All @@ -652,7 +672,11 @@ public function setCompiler(Twig_CompilerInterface $compiler)
*/
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();
}

/**
Expand Down