References UrlGeneratorInterface
Reference
I
Interface

ApiPlatform\Api\UrlGeneratorInterface

UrlGeneratorInterface is the interface that all URL generator classes must implement.

This interface has been imported and adapted from the Symfony project.

The constants in this interface define the different types of resource references that are declared in RFC 3986: http://tools.ietf.org/html/rfc3986 We are using the term “URL” instead of “URI” as this is more common in web applications and we do not need to distinguish them as the difference is mostly semantical and less technical. Generating URIs, i.e. representation-independent resource identifiers, is also possible.

interface ApiPlatform\Api\UrlGeneratorInterface
{
    public generate(string $name, array $parameters, int $referenceType): string
}

Methods

generate

Generates a URL or path for a specific route based on the given parameters.Parameters that reference placeholders in the route pattern will substitute them in the path or host. Extra params are added as query string to the URL.When the passed reference type cannot be generated for the route because it requires a different host or scheme than the current one, the method will return a more comprehensive reference that includes the required params. For example, when you call this method with $referenceType = ABSOLUTE_PATH but the route requires the https scheme whereas the current scheme is http, it will instead return an ABSOLUTE_URL with the https scheme and the current host. This makes sure the generated URL matches the route in any case.If there is no route with the given name, the generator must throw the RouteNotFoundException.The special parameter _fragment will be used as the document fragment suffixed to the final URL.

public generate(string $name, array $parameters, int $referenceType): string

Parameters

namestring
parametersarray
referenceTypeint

Returns

string

Made with love by

Les-Tilleuls.coop can help you design and develop your APIs and web projects, and train your teams in API Platform, Symfony, Next.js, Kubernetes and a wide range of other technologies.

Learn more

Copyright © 2023 Kévin Dunglas

Sponsored by Les-Tilleuls.coop