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

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.

string
compileOpeningTags(string $value)

Compile the opening tags within the given string.

string
compileSelfClosingTags(string $value)

Compile the self-closing tags within the given string.

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.

string|null
guessAnonymousComponentUsingPaths(Factory $viewFactory, string $component)

Attempt to find an anonymous component using the registered anonymous component paths.

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.

string
compileClosingTags(string $value)

Compile the closing tags within the given string.

string
compileSlots(string $value)

Compile the slot tags within the given string.

array
getAttributesFromAttributeString(string $attributeString)

Get an array of attributes from the given attribute string.

string
parseShortAttributeSyntax(string $value)

Parses a short attribute syntax like :$foo into a fully-qualified syntax like :foo="$foo".

string
parseAttributeBag(string $attributeString)

Parse the attribute bag in a given attribute string into its fully-qualified syntax.

string
parseComponentTagClassStatements(string $attributeString)

Parse @class statements in a given attribute string into their fully-qualified syntax.

string
parseComponentTagStyleStatements(string $attributeString)

Parse @style statements in a given attribute string into their fully-qualified syntax.

string
parseBindAttributes(string $attributeString)

Parse the "bind" attributes in a given attribute string into their fully-qualified syntax.

string
compileAttributeEchos(string $attributeString)

Compile any Blade echo statements that are present in the attribute string.

string
escapeSingleQuotesOutsideOfPhpBlocks(string $value)

Escape the single quotes in the given string that are outside of PHP blocks.

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.

Details

void __construct(array $aliases = [], array $namespaces = [], BladeCompiler|null $blade = null)

Create a new component tag compiler.

Parameters

array $aliases
array $namespaces
BladeCompiler|null $blade

Return Value

void

string compile(string $value)

Compile the component and slot tags within the given string.

Parameters

string $value

Return Value

string

string compileTags(string $value)

Compile the tags within the given string.

Parameters

string $value

Return Value

string

Exceptions

InvalidArgumentException

protected string compileOpeningTags(string $value)

Compile the opening tags within the given string.

Parameters

string $value

Return Value

string

Exceptions

InvalidArgumentException

protected string compileSelfClosingTags(string $value)

Compile the self-closing tags within the given string.

Parameters

string $value

Return Value

string

Exceptions

InvalidArgumentException

protected string componentString(string $component, array $attributes)

Compile the Blade component string for the given component and attributes.

Parameters

string $component
array $attributes

Return Value

string

Exceptions

InvalidArgumentException

string componentClass(string $component)

Get the component class for a given component alias.

Parameters

string $component

Return Value

string

Exceptions

InvalidArgumentException

protected string|null guessAnonymousComponentUsingPaths(Factory $viewFactory, string $component)

Attempt to find an anonymous component using the registered anonymous component paths.

Parameters

Factory $viewFactory
string $component

Return Value

string|null

protected string|null guessAnonymousComponentUsingNamespaces(Factory $viewFactory, string $component)

Attempt to find an anonymous component using the registered anonymous component namespaces.

Parameters

Factory $viewFactory
string $component

Return Value

string|null

string|null findClassByComponent(string $component)

Find the class for the given component using the registered namespaces.

Parameters

string $component

Return Value

string|null

string guessClassName(string $component)

Guess the class name for the given component.

Parameters

string $component

Return Value

string

string formatClassName(string $component)

Format the class name for the given component.

Parameters

string $component

Return Value

string

string guessViewName(string $name, string $prefix = 'components.')

Guess the view name for the given component.

Parameters

string $name
string $prefix

Return Value

string

array partitionDataAndAttributes(string $class, array $attributes)

Partition the data and extra attributes from the given array of attributes.

Parameters

string $class
array $attributes

Return Value

array

protected string compileClosingTags(string $value)

Compile the closing tags within the given string.

Parameters

string $value

Return Value

string

string compileSlots(string $value)

Compile the slot tags within the given string.

Parameters

string $value

Return Value

string

protected array getAttributesFromAttributeString(string $attributeString)

Get an array of attributes from the given attribute string.

Parameters

string $attributeString

Return Value

array

protected string parseShortAttributeSyntax(string $value)

Parses a short attribute syntax like :$foo into a fully-qualified syntax like :foo="$foo".

Parameters

string $value

Return Value

string

protected string parseAttributeBag(string $attributeString)

Parse the attribute bag in a given attribute string into its fully-qualified syntax.

Parameters

string $attributeString

Return Value

string

protected string parseComponentTagClassStatements(string $attributeString)

Parse @class statements in a given attribute string into their fully-qualified syntax.

Parameters

string $attributeString

Return Value

string

protected string parseComponentTagStyleStatements(string $attributeString)

Parse @style statements in a given attribute string into their fully-qualified syntax.

Parameters

string $attributeString

Return Value

string

protected string parseBindAttributes(string $attributeString)

Parse the "bind" attributes in a given attribute string into their fully-qualified syntax.

Parameters

string $attributeString

Return Value

string

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.

Parameters

string $attributeString

Return Value

string

protected string escapeSingleQuotesOutsideOfPhpBlocks(string $value)

Escape the single quotes in the given string that are outside of PHP blocks.

Parameters

string $value

Return Value

string

protected string attributesToString(array $attributes, bool $escapeBound = true)

Convert an array of attributes to a string.

Parameters

array $attributes
bool $escapeBound

Return Value

string

string stripQuotes(string $value)

Strip any quotes from the given string.

Parameters

string $value

Return Value

string