Rule

package

Default

Methods

Initializes this rule.

__construct(callable $matcher, callable $generator) 

Arguments

$matcher

callable

A closure that returns a boolean indicating whether this rule applies to the provided node.

$generator

callable

A closure that returns a url or null for the given node.

Generates an URL for the given node.

generate(string|\phpDocumentor\Descriptor\DescriptorAbstract $node) : string|false

Arguments

$node

string|\phpDocumentor\Descriptor\DescriptorAbstract

The node for which to generate an URL.

Response

string|false

a well-formed relative or absolute URL, or false if no URL could be generated.

Returns true when this rule is applicable to the given node.

match(string|\phpDocumentor\Descriptor\DescriptorAbstract &$node) : boolean

The contents of $node MAY be changed so that later rules in a router can try to match the changed value. An example of this is a string matcher that converts a provided FQSEN to a Descriptor so that Descriptor matchers in subsequent rules can generate a URL for it.

Arguments

Response

boolean

Translates the provided path, with UTF-8 characters, into a web- and windows-safe variant.

translateToUrlEncodedPath(string $generatedPathAsUtf8) : string

Windows does not support the use of UTF-8 characters on their file-system. In order to be sure that both the web and windows can support the given filename we decode the UTF-8 characters and then url encode them so that they will be plain characters that are suitable for the web.

If an anchor is found in the path, then it is neither url_encoded not transliterated because it should not result in a filename (otherwise another part of the application has made an error) but may be used during rendering of templates.

Arguments

$generatedPathAsUtf8

string

Response

string

Properties

generator

generator : callable
var

Type(s)

callable

matcher

matcher : callable
var

Type(s)

callable