Exemple #1
0
 /**
  * @param FlageParser $parser
  * @param string $tagBody
  * @return string
  */
 public function replaceContent($parser, $tagBody)
 {
     /*
     return '<?php $blockObject = '.$this->arguments['block'].'; '
         .'if(!($blockObject instanceof FlageBlock)) '
             .'throw new FlageException(\'Passed block argument is not a FlageBlock object\','.$this->line.','.$this->col.');'
         .'include($blockObject->getBlockCompiledName()); '
         .'?'.'>';
     */
     $blockArguments = array();
     foreach ($this->arguments as $argName => $argValue) {
         $blockArguments[] = "'" . str_replace(array("'", '\\'), array("\\'", '\\\\'), $argName) . "'" . '=>' . $argValue;
     }
     return '<?php $blockObject = ' . $this->arguments['block'] . '; ' . 'if(!($blockObject instanceof FlageBlock)) ' . 'throw new FlageException(\'Passed block argument is not a FlageBlock object\',' . $this->line . ',' . $this->col . ');' . ' $block=$__h->_pushBlock($blockObject,array(' . implode(',', $blockArguments) . ')); ' . (!$parser->getFlage()->isDisableCache() ? 'include( $block->getBlockCompiledName() ); ' : 'eval("?".">". $__h->loadCompiled($block->getBlockCompiledName()) ."<?php;"); ') . '$block=$__h->_endBlock(); ' . '?' . '>';
 }