Documentation

Define extends AbstractFactory
in package

FinalYes

Strategy to convert `define` expressions to ConstantElement

Tags
see
Constant
see
GlobalConstantIterator

Table of Contents

Properties

$docBlockFactory  : DocBlockFactoryInterface
$reducers  : iterable<string|int, mixed>
$constantEvaluator  : ConstantEvaluator
$valueConverter  : Standard

Methods

__construct()  : mixed
Initializes the object.
create()  : void
Creates an Element out of the given object.
matches()  : bool
Returns true when the strategy is able to handle the object.
createDocBlock()  : DocBlock|null
doCreate()  : object|null
Creates an Constant out of the given object.
determineFqsen()  : Fqsen|null
determineValue()  : Expression|null
fqsenFromExpression()  : Fqsen|null
fqsenFromString()  : Fqsen

Properties

$reducers read-only

protected iterable<string|int, mixed> $reducers = []

$constantEvaluator read-only

private ConstantEvaluator $constantEvaluator = new ConstantEvaluator()

Methods

create()

Creates an Element out of the given object.

public create(ContextStack $context, object $object, StrategyContainer $strategies) : void

Since an object might contain other objects that need to be converted the $stategies are passed so it can be used to create nested Elements. The passed ContextStack contains a stack of upstream created Elements that can be manipulated by factories. This allows the factory to also impact on parent objects of earlier created elements.

Parameters
$context : ContextStack

context to set the factory result.

$object : object

object to convert to an Element

$strategies : StrategyContainer

used to convert nested objects.

Attributes
#[Override]

matches()

Returns true when the strategy is able to handle the object.

public matches(ContextStack $context, object $object) : bool
Parameters
$context : ContextStack
$object : object

object to check.

Attributes
#[Override]
Return values
bool

doCreate()

Creates an Constant out of the given object.

protected doCreate(ContextStack $context, Expression $object, StrategyContainer $strategies) : object|null

Since an object might contain other objects that need to be converted the $factory is passed so it can be used to create nested Elements.

Parameters
$context : ContextStack
$object : Expression

object to convert to an Element

$strategies : StrategyContainer

used to convert nested objects.

Attributes
#[Override]
Return values
object|null

fqsenFromString()

private fqsenFromString(string $nameString) : Fqsen
Parameters
$nameString : string
Return values
Fqsen

        
On this page

Search results