1.10.0
This release adds a few new helper methods:
toDocument()
onDocumentParser
simplifies the process of converting an existingDocumentParser
to aDocument
instancetoDocument
will resolve structures on the document by default. To prevent this, simply supplyfalse
when calling (i.e.,toDocument(false)
)
parseTemplate
onDocumentParser
parses the input like the existingparse
method, but will return theDocumentParser
instance 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]