ComponentImplementation
class ComponentImplementation extends AbstractArrayFusionObject (View source)
A Fusion Component-Object
All properties except renderer
are pushed into a context variable props
afterwards the renderer
is evaluated
//fusionPath renderer The variable to display a dump of.
//fusionPath * generic Fusion values that will be added to the props
object in the context
Properties
protected Runtime | $runtime | from AbstractFusionObject | |
protected string | $path | The Fusion path currently being rendered |
from AbstractFusionObject |
protected string | $fusionObjectName | Name of this Fusion object, like Neos.Neos:Text |
from AbstractFusionObject |
protected array | $fusionValueCache | from AbstractFusionObject | |
protected array internal | $properties | List of properties which have been set using array access. We store this for every Fusion object in order to do things like: x = Foo { a = 'foo' b = ${this.a + 'bar'} } |
from AbstractArrayFusionObject |
protected array | $ignoreProperties | Properties that are ignored and not included into the |
Methods
Evaluate the fusion-keys and transfer the result into the context as props
afterwards evaluate the renderer
with this context
Return the Fusion value relative to this Fusion object (with processors etc applied).
No description
No description
Sort the Fusion objects inside $this->properties depending on:
- numerical ordering
- position meta-property
Returns TRUE if the given fusion key has no type, meaning neither having a fusion objectType, eelExpression or value
Prepare the context for the renderer
Calculate the component props
Evaluate the renderer with the give context and return
Details
__construct(Runtime $runtime, string $path, string $fusionObjectName)
Constructor
mixed
evaluate()
Evaluate the fusion-keys and transfer the result into the context as props
afterwards evaluate the renderer
with this context
Runtime
getRuntime()
Get the Fusion runtime this object was created in.
protected mixed
fusionValue(string $path)
Return the Fusion value relative to this Fusion object (with processors etc applied).
Note that subsequent calls of fusionValue() with the same Fusion path will return the same values since the first evaluated value will be cached in memory.
bool
offsetExists(mixed $offset)
No description
mixed
offsetGet(mixed $offset)
No description
void
offsetSet(mixed $offset, mixed $value)
No description
void
offsetUnset(mixed $offset)
No description
void
setIgnoreProperties(array $ignoreProperties = [])
No description
protected array
evaluateNestedProperties(string|null $defaultFusionPrototypeName = null)
No description
protected array
sortNestedProperties()
Sort the Fusion objects inside $this->properties depending on:
- numerical ordering
- position meta-property
This will ignore all properties defined in "@ignoreProperties" in Fusion
protected bool
isUntyped(string|int $key)
Returns TRUE if the given fusion key has no type, meaning neither having a fusion objectType, eelExpression or value
protected array
prepare(array $context)
Prepare the context for the renderer
protected ArrayAccess
getProps(array $context)
Calculate the component props
protected mixed
render(array $context)
Evaluate the renderer with the give context and return