捕获Twig内联代码

时间:2018-05-16 14:44:12

标签: php twig

我正在对项目进行重构,我想删除所有内联JS代码并将其移动到正文的末尾。 我有很多类似的模板:

<!-- Template.twig -->
<div>
    <p>Text</p>
    <p>More text</p>
</div>
<script type="text/javascript">
  (function(){
    console.log('Some random javascript..')
  })();
</script>

我想要做的是删除内联js代码,并在文档末尾回显它。 这是我所追求的简单实现:

<?php 
    class Document{
        private $inlineJS = array();

        public function addInlineJS($code){
            $this->inlineJS[] = $code;
        }

        public function getInlineJS(){
            return $this->inlineJS;
        }
    }

    $document = new Document();

    $twig->loadTemplate('template.twig');
    $output = $twig->render(['document' => $document]);

    // Here I want to use $document->getInlineJS() and get the js code which is the template.

通常,在一个普通的html文件中,我可以这样做:

$code = <<<END
    <script>
        console.log('My JS Code!!')
    </script>       
END;

$document->addInlineJS($code); 

在Twig中有没有这种等价物?

0 个答案:

没有答案