A feature-oriented software product line.

A product line consists of a feature model (see \FeaturePhp\Model\Model), a set of artifacts (see \FeaturePhp\Artifact\Artifact) and instructions on how to generate a product from a configuration (see \FeaturePhp\Generator\Generator). All of these are provided using \FeaturePhp\ProductLine\Settings.

package Default

 Methods

Creates a product line.

__construct(\FeaturePhp\ProductLine\Settings $settings) 

Parameters

$settings

\FeaturePhp\ProductLine\Settings

Returns the product line's artifact for a feature.

getArtifact(\FeaturePhp\Model\Feature $feature) : \FeaturePhp\Artifact\Artifact

Parameters

$feature

\FeaturePhp\Model\Feature

Returns

\FeaturePhp\Artifact\Artifact

Returns the product line's default configuration.

getDefaultConfiguration() : \FeaturePhp\Model\Configuration

Returns

\FeaturePhp\Model\Configuration

Returns a feature in the product line's model with a given name.

getFeature(string $featureName, boolean $permissive = false) : \FeaturePhp\Model\Feature

Parameters

$featureName

string

$permissive

boolean

Returns

\FeaturePhp\Model\Feature

Returns the product line's settings for a generator.

getGeneratorSettings(string $generator) : \FeaturePhp\Generator\Settings

Parameters

$generator

string

Returns

\FeaturePhp\Generator\Settings

Returns the product line's model.

getModel() : \FeaturePhp\Model\Model

Returns

\FeaturePhp\Model\Model

Returns the product line's name.

getName() : string

Returns

string

Returns a product of the product line for a configuration.

getProduct(\FeaturePhp\Model\Configuration $configuration = null) : \FeaturePhp\ProductLine\Product

If the configuration is omitted, the default configuration is used.

Parameters

$configuration

\FeaturePhp\Model\Configuration

Returns

\FeaturePhp\ProductLine\Product

Returns the product line's settings.

getSettings() : \FeaturePhp\ProductLine\Settings

Returns

\FeaturePhp\ProductLine\Settings

Analyzes an artifact's tracing links by returning a web page.

renderTracingLinkAnalysis(\FeaturePhp\Artifact\Artifact $artifact, boolean $textOnly = false) : string

Parameters

$artifact

\FeaturePhp\Artifact\Artifact

$textOnly

boolean

whether to render text or HTML

Returns

string

Returns tracing links for an artifact.

trace(\FeaturePhp\Artifact\Artifact $artifact) : array<mixed,\FeaturePhp\Artifact\TracingLink>

Parameters

$artifact

\FeaturePhp\Artifact\Artifact

Returns

array<mixed,\FeaturePhp\Artifact\TracingLink>

 Properties

 

the settings object for the product line

$settings : \FeaturePhp\ProductLine\Settings

Default