class PluginImplementation extends AbstractArrayFusionObject (View source)

A Fusion Plugin object.

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

If you iterate over "properties" these in here should usually be ignored. For example additional properties in "Case" that are not "Matchers".

from  AbstractArrayFusionObject
protected ObjectManagerInterface $objectManager
protected Dispatcher $dispatcher
protected NodeInterface $node
protected NodeInterface $documentNode

Methods

__construct(Runtime $runtime, string $path, string $fusionObjectName)

Constructor

mixed
evaluate()

Returns the rendered content of this plugin

getRuntime()

Get the Fusion runtime this object was created in.

mixed
fusionValue(string $path)

Return the Fusion value relative to this Fusion object (with processors etc applied).

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

array
evaluateNestedProperties(string|null $defaultFusionPrototypeName = null)

No description

array
sortNestedProperties()

Sort the Fusion objects inside $this->properties depending on:

  • numerical ordering
  • position meta-property

bool
isUntyped(string|int $key)

Returns TRUE if the given fusion key has no type, meaning neither having a fusion objectType, eelExpression or value

string
getPackage()

No description

string
getSubpackage()

No description

string
getController()

No description

string
getAction()

No description

string
getArgumentNamespace()

No description

ActionRequest
buildPluginRequest()

Build the pluginRequest object

ActionRequest
resolveDispatchArgumentsForPluginRequest(ActionRequest $pluginRequest, NodeInterface $node = null)

No description

string
getPluginNamespace()

Returns the plugin namespace that will be prefixed to plugin parameters in URIs.

void
passArgumentsToPluginRequest(ActionRequest $pluginRequest)

Pass the arguments which were addressed to the plugin to its own request

string
__toString()

No description

Details

__construct(Runtime $runtime, string $path, string $fusionObjectName)

Constructor

Parameters

Runtime $runtime
string $path
string $fusionObjectName

mixed evaluate()

Returns the rendered content of this plugin

Return Value

mixed

Exceptions

InvalidActionNameException
InvalidControllerNameException
NodeException
NoSuchOptionException
InvalidControllerException
InfiniteLoopException
InvalidArgumentNameException
InvalidArgumentTypeException
AccessDeniedException
AuthenticationRequiredException
MissingConfigurationException

Runtime getRuntime()

Get the Fusion runtime this object was created in.

Return Value

Runtime

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.

Parameters

string $path

Return Value

mixed

bool offsetExists(mixed $offset)

No description

Parameters

mixed $offset

Return Value

bool

mixed offsetGet(mixed $offset)

No description

Parameters

mixed $offset

Return Value

mixed

void offsetSet(mixed $offset, mixed $value)

No description

Parameters

mixed $offset
mixed $value

Return Value

void

void offsetUnset(mixed $offset)

No description

Parameters

mixed $offset

Return Value

void

void setIgnoreProperties(array $ignoreProperties = [])

No description

Parameters

array $ignoreProperties

Return Value

void

protected array evaluateNestedProperties(string|null $defaultFusionPrototypeName = null)

No description

Parameters

string|null $defaultFusionPrototypeName

Return Value

array

Exceptions

Exception
InvalidConfigurationException
StopActionException
Exception

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

Return Value

array

an ordered list of key value pairs

Exceptions

Exception

See also

PositionalArraySorter

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

Parameters

string|int $key

fusion child key path to check

Return Value

bool

string getPackage()

No description

Return Value

string

string getSubpackage()

No description

Return Value

string

string getController()

No description

Return Value

string

string getAction()

No description

Return Value

string

string getArgumentNamespace()

No description

Return Value

string

protected ActionRequest buildPluginRequest()

Build the pluginRequest object

Return Value

ActionRequest

Exceptions

InvalidActionNameException
InvalidControllerNameException
NodeException
InvalidArgumentNameException
InvalidArgumentTypeException

protected ActionRequest resolveDispatchArgumentsForPluginRequest(ActionRequest $pluginRequest, NodeInterface $node = null)

No description

Parameters

ActionRequest $pluginRequest
NodeInterface $node

Return Value

ActionRequest

Exceptions

NodeException
InvalidActionNameException
InvalidControllerNameException

protected string getPluginNamespace()

Returns the plugin namespace that will be prefixed to plugin parameters in URIs.

By default this is

Return Value

string

Exceptions

NodeException

protected void passArgumentsToPluginRequest(ActionRequest $pluginRequest)

Pass the arguments which were addressed to the plugin to its own request

Parameters

ActionRequest $pluginRequest

The plugin request

Return Value

void

Exceptions

InvalidActionNameException
InvalidControllerNameException
NodeException
InvalidArgumentNameException
InvalidArgumentTypeException

string __toString()

No description

Return Value

string