\phpDocumentor\Transformer\Writer\TwigRelativePathToRootConverter

Summary

Methods
Properties
Constants
__construct()
convert()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
createFqsenFromReference()
isReferenceToFqsen()
withoutLeadingSlash()
getPathPrefixBasedOnDepth()
$router
N/A

Properties

$router

$router : \phpDocumentor\Transformer\Router\Router

Type

\phpDocumentor\Transformer\Router\Router

Methods

__construct()

__construct(\phpDocumentor\Transformer\Router\Router  $router) : mixed

Parameters

\phpDocumentor\Transformer\Router\Router $router

Returns

mixed —

convert()

convert(string  $destination, string  $pathOrReference) : ?string

Converts the given path to be relative to the root of the documentation target directory.

It is not possible to use absolute paths in documentation templates since they may be used locally, or in a subfolder. As such we need to calculate the number of levels to go up from the current document's directory and then append the given path.

For example:

Suppose you are in <root>/classes/my/class.html and you want open
<root>/my/index.html then you provide 'my/index.html' to this method
and it will convert it into ../../my/index.html (<root>/classes/my is
two nesting levels until the root).

This method does not try to normalize or optimize the paths in order to save on development time and performance, and because it adds no real value.

In addition, when a path starts with an @-sign, it is interpreted as a reference to a structural element and we use the router to try and find a path to which this refers.

Parameters

string $destination
string $pathOrReference

Returns

?string —

createFqsenFromReference()

createFqsenFromReference(string  $path) : \phpDocumentor\Reflection\Fqsen

Parameters

string $path

Returns

\phpDocumentor\Reflection\Fqsen —

isReferenceToFqsen()

isReferenceToFqsen(string  $path) : bool

Parameters

string $path

Returns

bool —

withoutLeadingSlash()

withoutLeadingSlash(string  $path) : string

Parameters

string $path

Returns

string —

getPathPrefixBasedOnDepth()

getPathPrefixBasedOnDepth(string  $destination) : string

Calculates how deep the given destination is and returns a prefix.

The calculated prefix is used to get back to the root (i.e. three levels deep means ../../..) or an empty string is returned when you are already at the same level as the root.

This prefix will include a trailing forward slash (/) when it actually needs to direct the caller to go elsewhere.

Parameters

string $destination

Returns

string —