PHP Class Neos\Fusion\TypoScriptObjects\Helpers\FusionPathProxy

It wraps a part of the Fusion tree which does not contain Fusion objects or Eel expressions. This class is instantiated inside TemplateImplementation and is never used outside.
Inheritance: implements Neos\FluidAdaptor\Core\Parser\SyntaxTree\TemplateObjectAccessInterface, implements ArrayAccess, implements IteratorAggregate, implements Countable
Datei anzeigen Open project: neos/neos-development-collection

Protected Properties

Property Type Description
$fusionRuntime Neos\Fusion\Core\Runtime Reference to the TypoScript Runtime which controls the whole rendering
$partialTypoScriptTree array This is a part of the TypoScript tree built when evaluating $this->path.
$path string The TypoScript path this object proxies
$systemLogger Neos\Flow\Log\SystemLoggerInterface
$templateImplementation Neos\Fusion\TypoScriptObjects\TemplateImplementation Reference to the "parent" TypoScript object

Public Methods

Method Description
__construct ( TemplateImplementation $templateImplementation, string $path, array $partialTypoScriptTree ) Constructor.
__toString ( ) : string Finally evaluate the TypoScript path
count ( ) : integer
getIterator ( ) : ArrayIterator Iterates through all subelements.
objectAccess ( ) : FusionPathProxy | mixed Post-Processor which is called whenever this object is encountered in a Fluid object access.
offsetExists ( string $offset ) : boolean TRUE if a given subpath exists, FALSE otherwise.
offsetGet ( string $offset ) : mixed | FusionPathProxy Return the object at $offset; evaluating simple types right away, and wrapping arrays into ourselves again.
offsetSet ( string $offset, mixed $value ) Stub to implement the ArrayAccess interface cleanly
offsetUnset ( string $offset ) Stub to implement the ArrayAccess interface cleanly

Method Details

__construct() public method

Constructor.
public __construct ( TemplateImplementation $templateImplementation, string $path, array $partialTypoScriptTree )
$templateImplementation Neos\Fusion\TypoScriptObjects\TemplateImplementation
$path string
$partialTypoScriptTree array

__toString() public method

As PHP does not like throwing an exception here, we render any exception using the configured TypoScript exception handler and will also catch and log any exceptions resulting from that as a last resort.
public __toString ( ) : string
return string

count() public method

public count ( ) : integer
return integer

getIterator() public method

Iterates through all subelements.

objectAccess() public method

Evaluates TypoScript objects and eel expressions.
public objectAccess ( ) : FusionPathProxy | mixed
return FusionPathProxy | mixed

offsetExists() public method

TRUE if a given subpath exists, FALSE otherwise.
public offsetExists ( string $offset ) : boolean
$offset string
return boolean

offsetGet() public method

Return the object at $offset; evaluating simple types right away, and wrapping arrays into ourselves again.
public offsetGet ( string $offset ) : mixed | FusionPathProxy
$offset string
return mixed | FusionPathProxy

offsetSet() public method

Stub to implement the ArrayAccess interface cleanly
public offsetSet ( string $offset, mixed $value )
$offset string
$value mixed

offsetUnset() public method

Stub to implement the ArrayAccess interface cleanly
public offsetUnset ( string $offset )
$offset string

Property Details

$fusionRuntime protected_oe property

Reference to the TypoScript Runtime which controls the whole rendering
protected Runtime,Neos\Fusion\Core $fusionRuntime
return Neos\Fusion\Core\Runtime

$partialTypoScriptTree protected_oe property

This is a part of the TypoScript tree built when evaluating $this->path.
protected array $partialTypoScriptTree
return array

$path protected_oe property

The TypoScript path this object proxies
protected string $path
return string

$systemLogger protected_oe property

protected SystemLoggerInterface,Neos\Flow\Log $systemLogger
return Neos\Flow\Log\SystemLoggerInterface

$templateImplementation protected_oe property

Reference to the "parent" TypoScript object
protected TemplateImplementation,Neos\Fusion\TypoScriptObjects $templateImplementation
return Neos\Fusion\TypoScriptObjects\TemplateImplementation