Compiler.php
protected function compileDo(Node $node)
    {

        $subject = $node->subject;

        if (!empty($subject))
            $this->throwException(
                "Do-loops can't have a subject, they only accept children to repeat.",
                $node
            );

        if (!$node->next() || $node->next()->type !== 'while')
            $this->throwException(
                "A do-statement needs a while-statement with a condition following immediately, {$node->next()->type} was provided"
            );

        //Notice that the } wont have closing ? >, php needs this.
        //Check compileWhile to see the combination of both
        $phtml = $this->createCode("do {").$this->newLine();
        $phtml .= $this->compileChildren($node->children).$this->newLine();
        $phtml .= $this->indent().$this->createCode('}', '<?php ', '').$this->newLine();

        return $phtml;
    }
protected function compileDo(Node $node)
    {

        $subject = $node->subject;

        if (!empty($subject))
            $this->throwException(
                "Do-loops can't have a subject, they only accept children to repeat.",
                $node
            );

        if (!$node->next() || $node->next()->type !== 'while')
            $this->throwException(
                "A do-statement needs a while-statement with a condition following immediately, {$node->next()->type} was provided"
            );

        //Notice that the } wont have closing ? >, php needs this.
        //Check compileWhile to see the combination of both
        $phtml = $this->createCode("do {").$this->newLine();
        $phtml .= $this->compileChildren($node->children).$this->newLine();
        $phtml .= $this->indent().$this->createCode('}', '<?php ', '').$this->newLine();

        return $phtml;
    }
protected function compileDo ( Node $ node ) { $ subject = $ node -> subject ; if ( ! empty ( $ subject ) ) $ this -> throwException ( "Do-loops can't have a subject, they only accept children to repeat." , $ node ) ; if ( ! $ node -> next ( ) || $ node -> next ( ) -> type !== 'while' ) $ this -> throwException ( "A do-statement needs a while-statement with a condition following immediately, {$node->next()->type} was provided" ) ; //Notice that the } wont have closing ? >, php needs this. //Check compileWhile to see the combination of both $ phtml = $ this -> createCode ( "do {" ) . $ this -> newLine ( ) ; $ phtml .= $ this -> compileChildren ( $ node -> children ) . $ this -> newLine ( ) ; $ phtml .= $ this -> indent ( ) . $ this -> createCode ( '}' , '<?php ' , '' ) . $ this -> newLine ( ) ; return $ phtml ; }
Compiles a do-instruction into PHTML.

@param Node $node the do-node to compile

@return string The compiled PHTML
@throws Exception
Compiles a do - instruction into PHTML .