ComponentTagCompiler
class ComponentTagCompiler (View source)
Properties
protected BladeCompiler | $blade | The Blade compiler instance. |
|
protected array | $aliases | The component class aliases. |
|
protected array | $namespaces | The component class namespaces. |
|
protected array | $boundAttributes | The "bind:" attributes that have been compiled for the current component. |
Methods
Create a new component tag compiler.
Compile the component and slot tags within the given string.
Compile the tags within the given string.
Compile the opening tags within the given string.
Compile the self-closing tags within the given string.
Compile the Blade component string for the given component and attributes.
Get the component class for a given component alias.
Attempt to find an anonymous component using the registered anonymous component paths.
Attempt to find an anonymous component using the registered anonymous component namespaces.
Find the class for the given component using the registered namespaces.
Guess the class name for the given component.
Format the class name for the given component.
Guess the view name for the given component.
Partition the data and extra attributes from the given array of attributes.
Compile the closing tags within the given string.
Compile the slot tags within the given string.
Get an array of attributes from the given attribute string.
Parses a short attribute syntax like :$foo into a fully-qualified syntax like :foo="$foo".
Parse the attribute bag in a given attribute string into its fully-qualified syntax.
Parse @class statements in a given attribute string into their fully-qualified syntax.
Parse @style statements in a given attribute string into their fully-qualified syntax.
Parse the "bind" attributes in a given attribute string into their fully-qualified syntax.
Compile any Blade echo statements that are present in the attribute string.
Escape the single quotes in the given string that are outside of PHP blocks.
Convert an array of attributes to a string.
Strip any quotes from the given string.
Details
void
__construct(array $aliases = [], array $namespaces = [], BladeCompiler|null $blade = null)
Create a new component tag compiler.
string
compile(string $value)
Compile the component and slot tags within the given string.
string
compileTags(string $value)
Compile the tags within the given string.
protected string
compileOpeningTags(string $value)
Compile the opening tags within the given string.
protected string
compileSelfClosingTags(string $value)
Compile the self-closing tags within the given string.
protected string
componentString(string $component, array $attributes)
Compile the Blade component string for the given component and attributes.
string
componentClass(string $component)
Get the component class for a given component alias.
protected string|null
guessAnonymousComponentUsingPaths(Factory $viewFactory, string $component)
Attempt to find an anonymous component using the registered anonymous component paths.
protected string|null
guessAnonymousComponentUsingNamespaces(Factory $viewFactory, string $component)
Attempt to find an anonymous component using the registered anonymous component namespaces.
string|null
findClassByComponent(string $component)
Find the class for the given component using the registered namespaces.
string
guessClassName(string $component)
Guess the class name for the given component.
string
formatClassName(string $component)
Format the class name for the given component.
string
guessViewName(string $name, string $prefix = 'components.')
Guess the view name for the given component.
array
partitionDataAndAttributes(string $class, array $attributes)
Partition the data and extra attributes from the given array of attributes.
protected string
compileClosingTags(string $value)
Compile the closing tags within the given string.
string
compileSlots(string $value)
Compile the slot tags within the given string.
protected array
getAttributesFromAttributeString(string $attributeString)
Get an array of attributes from the given attribute string.
protected string
parseShortAttributeSyntax(string $value)
Parses a short attribute syntax like :$foo into a fully-qualified syntax like :foo="$foo".
protected string
parseAttributeBag(string $attributeString)
Parse the attribute bag in a given attribute string into its fully-qualified syntax.
protected string
parseComponentTagClassStatements(string $attributeString)
Parse @class statements in a given attribute string into their fully-qualified syntax.
protected string
parseComponentTagStyleStatements(string $attributeString)
Parse @style statements in a given attribute string into their fully-qualified syntax.
protected string
parseBindAttributes(string $attributeString)
Parse the "bind" attributes in a given attribute string into their fully-qualified syntax.
protected string
compileAttributeEchos(string $attributeString)
Compile any Blade echo statements that are present in the attribute string.
These echo statements need to be converted to string concatenation statements.
protected string
escapeSingleQuotesOutsideOfPhpBlocks(string $value)
Escape the single quotes in the given string that are outside of PHP blocks.
protected string
attributesToString(array $attributes, bool $escapeBound = true)
Convert an array of attributes to a string.
string
stripQuotes(string $value)
Strip any quotes from the given string.