Settings for a generator.

The \FeaturePhp\Generator\ChunkGenerator settings follow the structure:

or, alternatively:

  • root (object)
    • filesIfSelected (array) - chunks to add if the artifact's feature is selected
    • filesIfDeselected (array) - chunks to add if the artifact's feature is deselected

The \FeaturePhp\Generator\CopyGenerator, \FeaturePhp\Generator\CollaborationGenerator and \FeaturePhp\Generator\AspectGenerator settings inside an artifact's generator settings follow the structure:

The \FeaturePhp\Generator\CopyGenerator, \FeaturePhp\Generator\CollaborationGenerator and \FeaturePhp\Generator\AspectGenerator settings in the product line's generator settings follow the structure:

  • root (object)
    • exclude (array) - file names to exclude globally, useful for files like .gitignore (to exclude a directory, use "<directory>/*")
    • featureOrder (array) - array of feature names to determine role ordering, for collaboration generator only
    • feature (string) - a feature that has to be selected to generate the aspect kernel, for aspect generator only

The \FeaturePhp\Generator\RuntimeGenerator settings inside an artifact's generator settings follow the structure:

  • root (bool) - true to generate runtime information

The \FeaturePhp\Generator\RuntimeGenerator settings in the product line's generator settings follow the structure:

  • root (object)
    • class (string) - the runtime class name
    • target (string) - the runtime class file target in the generated product
    • getter (string) - the runtime class method for getting feature information
    • feature (string) - a feature that has to be selected to generate the runtime class

The \FeaturePhp\Generator\TemplateGenerator settings follow the structure:

or, alternatively:

  • root (object)
    • filesIfSelected (array) - rules to add if the artifact's feature is selected
    • filesIfDeselected (array) - rules to add if the artifact's feature is deselected
package Default
inherited_from \FeaturePhp\Settings

 Methods

Creates settings.

__construct(array $cfg, string $directory = "."

The directory may be used to resolve relative paths in the settings.

inherited_from \FeaturePhp\Settings::__construct()

Parameters

$cfg

array

a plain settings array

$directory

string

the directory the settings apply to

Creates settings.

__construct(array $cfg, string $directory = "."
Inherited

The directory may be used to resolve relative paths in the settings.

Parameters

$cfg

array

a plain settings array

$directory

string

the directory the settings apply to

Creates empty settings.

emptyInstance() : \FeaturePhp\Generator\Settings
Static

Returns

\FeaturePhp\Generator\Settings

Creates settings.

fromArray(array $cfg, string $directory = "."
InheritedStatic

Parameters

$cfg

array

a plain settings array

$directory

string

the directory the settings apply to

Creates settings from a JSON-encoded file.

fromFile(string $fileName) : \FeaturePhp\Settings
InheritedStatic

Parameters

$fileName

string

Returns

\FeaturePhp\Settings

Creates settings from a JSON-encoded string.

fromString(string $json, string $directory = ".") : \FeaturePhp\Settings
InheritedStatic

Parameters

$json

string

$directory

string

the directory the settings apply to

Returns

\FeaturePhp\Settings

Returns a setting.

get() : mixed
Inherited

A setting path can be supplied variadically.

Returns

mixed

Returns the settings' directory.

getDirectory() : string
Inherited

Returns

string

Returns a setting in a plain settings array.

getIn(array $cfg) : mixed
Inherited

A setting path can be supplied variadically.

Parameters

$cfg

array

Returns

mixed

Creates an instance of a class from a plain settings array.

getInstance(string|array|boolean $object, string $klass) : \FeaturePhp\$class
Inherited

If a string is given, the class is instantiated from a file. If an array("data" => ...) is given, the class is instantiated from a string. If another array is given, the class is instantiated from that array. If true is given, the class is instantiated from an empty array.

Parameters

$object

stringarrayboolean

$klass

string

Returns

\FeaturePhp\$class

Returns an optional setting, defaulting to a value.

getOptional(mixed $defaultValue) : mixed
Inherited

A setting path can be supplied variadically.

Parameters

$defaultValue

mixed

Returns

mixed

Returns a path in the context of the settings' directory.

getPath(string $path) : string
Inherited

Parameters

$path

string

Returns

string

Returns a setting if a predicate is satisfied.

getWith(string $key, callable $predicate) : mixed
Inherited

Throws \FeaturePhp\InvalidSettingsException if the predicate fails.

Parameters

$key

string

$predicate

callable

Returns

mixed

Creates empty settings in the context of a directory.

inDirectory(string $directory) 
InheritedStatic

Parameters

$directory

string

the directory the settings apply to

Returns whether a plain settings array has a key.

has(string $key, array $cfg = null) : boolean
Inherited

If no settings array is given, the internal settings array is assumed.

Parameters

$key

string

$cfg

array

Returns

boolean

Sets a setting.

set(string $key, mixed $value) 
Inherited

A setting path can be supplied variadically.

Parameters

$key

string

$value

mixed

Sets a setting if it is not already set.

setOptional(string $key, mixed $value) 
Inherited

Parameters

$key

string

$value

mixed

Returns a setting in a plain settings array.

_get(array $cfg) : mixed
Inherited

A setting path can be supplied variadically.

Parameters

$cfg

array

Returns

mixed

Sets a setting in a plain settings array.

_set(array $cfg, array $args) 
Inherited

Parameters

$cfg

array

$args

array

a setting path followed by the setting's new value

 Properties

 

the internal plain settings array

$cfg : array

Default