PathGenerator

in package

Properties

private$router  : \phpDocumentor\Transformer\Router\Router                

private$pathfinder  : \phpDocumentor\Transformer\Writer\Pathfinder                

Methods

public__construct(Router $router, Pathfinder $pathfinder) : mixed

Parameters

$router : Router
$pathfinder : Pathfinder

Returns

mixed

Uses the currently selected node and transformation to assemble the destination path for the file.

publicgenerate(Descriptor $descriptor, Transformation $transformation) : string

Writers accept the use of a Query to be able to generate output for multiple objects using the same template.

The given node is the result of such a query, or if no query given the selected element, and the transformation contains the destination file.

Since it is important to be able to generate a unique name per element can the user provide a template variable in the name of the file. Such a template variable always resides between double braces and tries to take the node value of a given query string.

Example:

An artifact stating classes/{{name}}.html will try to find the node 'name' as a child of the given $node and use that value instead.

Parameters

$descriptor : Descriptor
$transformation : Transformation

Throws

\InvalidArgumentException

If no artifact is provided and no routing rule matches.

\UnexpectedValueException

If the provided node does not contain anything.

Returns

string

returns the destination location or false if generation should be aborted.

privatedeterminePath(Descriptor $descriptor, Transformation $transformation) : string

Parameters

$descriptor : Descriptor
$transformation : Transformation

Returns

string

privatereplaceVariablesInPath(string $path, Descriptor $descriptor) : string

Parameters

$path : string
$descriptor : Descriptor

Returns

string