@@ -157,10 +157,9 @@ public function macroInclude(MacroNode $node, PhpWriter $writer)
157157 : PhpHelpers::dump ($ name );
158158
159159 return $ writer ->write (
160- '$this->renderBlock ' . ($ parent ? 'Parent ' : '' ) . '( '
161- . $ phpName
162- . ', %node.array? + '
163- . '($this->hasBlock( ' . $ phpName . ', true) ? get_defined_vars() : $this->params) '
160+ '$this->renderBlock ' . ($ parent ? 'Parent ' : '' )
161+ . '($__nm = ' . $ phpName . ', %node.array? + '
162+ . '($this->hasBlock($__nm, true) ? get_defined_vars() : $this->params) '
164163 . ($ node ->modifiers
165164 ? ', function ($s, $type) { $__fi = new LR\FilterInfo($type); return %modifyContent($s); } '
166165 : ($ noEscape || $ parent ? '' : ', ' . PhpHelpers::dump (implode ($ node ->context ))))
@@ -267,7 +266,7 @@ public function macroBlock(MacroNode $node, PhpWriter $writer): string
267266 );
268267
269268 if ($ this ->isDynamic ($ data ->name )) {
270- $ node ->closingCode = $ writer ->write ('<?php $this->renderBlock(%word , %raw); ?> ' , $ data -> name , $ renderArgs );
269+ $ node ->closingCode = $ writer ->write ('<?php $this->renderBlock($__nm , %raw); ?> ' , $ renderArgs );
271270 return $ this ->beginDynamicBlockOrDefine ($ node , $ writer , $ layer );
272271 }
273272
@@ -362,7 +361,7 @@ private function beginDynamicBlockOrDefine(MacroNode $node, PhpWriter $writer, ?
362361 };
363362
364363 return $ writer ->write (
365- '$this->addBlock(%word, %var, [[$this, %var]], %var); ' ,
364+ '$this->addBlock($__nm = %word, %var, [[$this, %var]], %var); ' ,
366365 $ data ->name ,
367366 implode ($ node ->context ),
368367 $ func ,
@@ -449,18 +448,17 @@ private function beginDynamicSnippet(MacroNode $node, PhpWriter $writer): string
449448 };
450449 }
451450 $ node ->attrCode = $ writer ->write (
452- "<?php echo ' {$ this ->snippetAttribute }= \"' . htmlspecialchars( \$this->global->snippetDriver->getHtmlId(%word)) . ' \"' ?> " ,
451+ "<?php echo ' {$ this ->snippetAttribute }= \"' . htmlspecialchars( \$this->global->snippetDriver->getHtmlId( \$ __nm = %word)) . ' \"' ?> " ,
453452 $ data ->name
454453 );
455- return $ writer ->write ('$this->global->snippetDriver->enter(%word , %var); try { ' , $ data -> name , SnippetDriver::TYPE_DYNAMIC );
454+ return $ writer ->write ('$this->global->snippetDriver->enter($__nm , %var); try { ' , SnippetDriver::TYPE_DYNAMIC );
456455 }
457456
458457 $ node ->closingCode .= "\n</div> " ;
459458 return $ writer ->write (
460459 "?> \n<div {$ this ->snippetAttribute }= \""
461- . '<?php echo htmlspecialchars($this->global->snippetDriver->getHtmlId(%word)) ?>" '
462- . '><?php $this->global->snippetDriver->enter(%word, %var); try { ' ,
463- $ data ->name ,
460+ . '<?php echo htmlspecialchars($this->global->snippetDriver->getHtmlId($__nm = %word)) ?>" '
461+ . '><?php $this->global->snippetDriver->enter($__nm, %var); try { ' ,
464462 $ data ->name ,
465463 SnippetDriver::TYPE_DYNAMIC
466464 );
@@ -481,7 +479,7 @@ public function macroSnippetArea(MacroNode $node, PhpWriter $writer): string
481479
482480 $ data ->after = function () use ($ node , $ writer , $ data , $ block ) {
483481 $ node ->content = $ writer ->write (
484- '<?php $this->global->snippetDriver->enter(%word , %var);
482+ '<?php $this->global->snippetDriver->enter(%var , %var);
485483 try { ?>%raw<?php } finally { $this->global->snippetDriver->leave(); } ?> ' ,
486484 $ data ->name ,
487485 SnippetDriver::TYPE_AREA ,
@@ -610,6 +608,6 @@ private function generateMethodName(string $blockName): string
610608
611609 private function isDynamic (string $ name ): bool
612610 {
613- return strpos ($ name , '$ ' ) !== false ;
611+ return strpos ($ name , '$ ' ) !== false || strpos ( $ name , ' ' ) !== false ;
614612 }
615613}
0 commit comments