Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. UrlGeneratorInterface.php

interface UrlGeneratorInterface

Same name in this branch
  1. 11.1.x core/lib/Drupal/Core/Routing/UrlGeneratorInterface.php \Drupal\Core\Routing\UrlGeneratorInterface

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

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.

@author Fabien Potencier <fabien@symfony.com> @author Tobias Schultze <http://tobion.de&gt;

Hierarchy

  • interface \Symfony\Component\Routing\RequestContextAwareInterface
    • interface \Symfony\Component\Routing\Generator\UrlGeneratorInterface extends \Symfony\Component\Routing\RequestContextAwareInterface

Expanded class hierarchy of UrlGeneratorInterface

All classes that implement UrlGeneratorInterface

5 files declare their use of UrlGeneratorInterface
FileLinkFormatter.php in vendor/symfony/error-handler/ErrorRenderer/FileLinkFormatter.php
Router.php in vendor/symfony/routing/Router.php
Router.php in core/lib/Drupal/Core/Routing/Router.php
RouterInterface.php in vendor/symfony/routing/RouterInterface.php
UrlGeneratorInterface.php in core/lib/Drupal/Core/Routing/UrlGeneratorInterface.php

File

vendor/symfony/routing/Generator/UrlGeneratorInterface.php, line 32

Namespace

Symfony\Component\Routing\Generator
View source
interface UrlGeneratorInterface extends RequestContextAwareInterface {
    
    /**
     * Generates an absolute URL, e.g. "http://example.com/dir/file".
     */
    public const ABSOLUTE_URL = 0;
    
    /**
     * Generates an absolute path, e.g. "/dir/file".
     */
    public const ABSOLUTE_PATH = 1;
    
    /**
     * Generates a relative path based on the current request path, e.g. "../parent-file".
     *
     * @see UrlGenerator::getRelativePath()
     */
    public const RELATIVE_PATH = 2;
    
    /**
     * Generates a network path, e.g. "//example.com/dir/file".
     * Such reference reuses the current scheme but specifies the host.
     */
    public const NETWORK_PATH = 3;
    
    /**
     * 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.
     *
     * @throws RouteNotFoundException              If the named route doesn't exist
     * @throws MissingMandatoryParametersException When some parameters are missing that are mandatory for the route
     * @throws InvalidParameterException           When a parameter value for a placeholder is not correct because
     *                                             it does not match the requirement
     */
    public function generate(string $name, array $parameters = [], int $referenceType = self::ABSOLUTE_PATH) : string;

}

Members

Title Sort descending Modifiers Object type Summary Overrides
RequestContextAwareInterface::getContext public function Gets the request context. 6
RequestContextAwareInterface::setContext public function Sets the request context. 6
UrlGeneratorInterface::ABSOLUTE_PATH public constant Generates an absolute path, e.g. &quot;/dir/file&quot;.
UrlGeneratorInterface::ABSOLUTE_URL public constant Generates an absolute URL, e.g. &quot;http://example.com/dir/file&quot;.
UrlGeneratorInterface::generate public function Generates a URL or path for a specific route based on the given parameters. 6
UrlGeneratorInterface::NETWORK_PATH public constant Generates a network path, e.g. &quot;//example.com/dir/file&quot;.
Such reference reuses the current scheme but specifies the host.
UrlGeneratorInterface::RELATIVE_PATH public constant Generates a relative path based on the current request path, e.g. &quot;../parent-file&quot;.

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal