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

Breadcrumb

  1. Drupal Core 11.1.x

RouteTrait.php

Namespace

Symfony\Component\Routing\Loader\Configurator\Traits

File

vendor/symfony/routing/Loader/Configurator/Traits/RouteTrait.php

View source
<?php


/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace Symfony\Component\Routing\Loader\Configurator\Traits;

use Symfony\Component\Routing\Route;
use Symfony\Component\Routing\RouteCollection;
trait RouteTrait {
    protected RouteCollection|Route $route;
    
    /**
     * Adds defaults.
     *
     * @return $this
     */
    public final function defaults(array $defaults) : static {
        $this->route
            ->addDefaults($defaults);
        return $this;
    }
    
    /**
     * Adds requirements.
     *
     * @return $this
     */
    public final function requirements(array $requirements) : static {
        $this->route
            ->addRequirements($requirements);
        return $this;
    }
    
    /**
     * Adds options.
     *
     * @return $this
     */
    public final function options(array $options) : static {
        $this->route
            ->addOptions($options);
        return $this;
    }
    
    /**
     * Whether paths should accept utf8 encoding.
     *
     * @return $this
     */
    public final function utf8(bool $utf8 = true) : static {
        $this->route
            ->addOptions([
            'utf8' => $utf8,
        ]);
        return $this;
    }
    
    /**
     * Sets the condition.
     *
     * @return $this
     */
    public final function condition(string $condition) : static {
        $this->route
            ->setCondition($condition);
        return $this;
    }
    
    /**
     * Sets the pattern for the host.
     *
     * @return $this
     */
    public final function host(string $pattern) : static {
        $this->route
            ->setHost($pattern);
        return $this;
    }
    
    /**
     * Sets the schemes (e.g. 'https') this route is restricted to.
     * So an empty array means that any scheme is allowed.
     *
     * @param string[] $schemes
     *
     * @return $this
     */
    public final function schemes(array $schemes) : static {
        $this->route
            ->setSchemes($schemes);
        return $this;
    }
    
    /**
     * Sets the HTTP methods (e.g. 'POST') this route is restricted to.
     * So an empty array means that any method is allowed.
     *
     * @param string[] $methods
     *
     * @return $this
     */
    public final function methods(array $methods) : static {
        $this->route
            ->setMethods($methods);
        return $this;
    }
    
    /**
     * Adds the "_controller" entry to defaults.
     *
     * @param callable|string|array $controller a callable or parseable pseudo-callable
     *
     * @return $this
     */
    public final function controller(callable|string|array $controller) : static {
        $this->route
            ->addDefaults([
            '_controller' => $controller,
        ]);
        return $this;
    }
    
    /**
     * Adds the "_locale" entry to defaults.
     *
     * @return $this
     */
    public final function locale(string $locale) : static {
        $this->route
            ->addDefaults([
            '_locale' => $locale,
        ]);
        return $this;
    }
    
    /**
     * Adds the "_format" entry to defaults.
     *
     * @return $this
     */
    public final function format(string $format) : static {
        $this->route
            ->addDefaults([
            '_format' => $format,
        ]);
        return $this;
    }
    
    /**
     * Adds the "_stateless" entry to defaults.
     *
     * @return $this
     */
    public final function stateless(bool $stateless = true) : static {
        $this->route
            ->addDefaults([
            '_stateless' => $stateless,
        ]);
        return $this;
    }

}

Traits

Title Deprecated Summary
RouteTrait

API Navigation

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