1.10.0
·
19 commits
to master
since this release
This release adds a few new helper methods:
toDocument()onDocumentParsersimplifies the process of converting an existingDocumentParserto aDocumentinstancetoDocumentwill resolve structures on the document by default. To prevent this, simply supplyfalsewhen calling (i.e.,toDocument(false))
parseTemplateonDocumentParserparses the input like the existingparsemethod, but will return theDocumentParserinstance instead of a node array
New AttributeCompiler
The AttributeCompiler is a new compiler service that can be used to compile attributes/parameters on a parsed ComponentNode. The AttributeCompiler implementation will use the core Laravel compiler for content that contains interpolated values.
Usage:
<?php
use Stillat\BladeParser\Parser\DocumentParser;
use Stillat\BladeParser\Compiler\CompilerServices\AttributeCompiler;
$template = <<<'TEMPLATE'
<prefix:component
parameter="content"
:binding="$theVariable"
/>
TEMPLATE;
$params = (new DocumentParser)
->onlyParseComponents()
->registerCustomComponentTags(['prefix'])
->parseTemplate($template)
->toDocument()
->getComponents()
->first()
->parameters;
$compiler = new AttributeCompiler;
$result = $compiler->compile($params);After compilation, $result would contain the following:
['parameter'=>'content','binding'=>$theVariable]