Route.php

Namespace

Symfony\Component\Routing\Annotation

File

drupal/core/vendor/symfony/routing/Symfony/Component/Routing/Annotation/Route.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\Annotation;


/**
 * Annotation class for @Route().
 *
 * @Annotation
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class Route {
  private $path;
  private $name;
  private $requirements;
  private $options;
  private $defaults;
  private $host;
  private $methods;
  private $schemes;

  /**
   * Constructor.
   *
   * @param array $data An array of key/value parameters.
   *
   * @throws \BadMethodCallException
   */
  public function __construct(array $data) {
    $this->requirements = array();
    $this->options = array();
    $this->defaults = array();
    $this->methods = array();
    $this->schemes = array();
    if (isset($data['value'])) {
      $data['path'] = $data['value'];
      unset($data['value']);
    }
    foreach ($data as $key => $value) {
      $method = 'set' . str_replace('_', '', $key);
      if (!method_exists($this, $method)) {
        throw new \BadMethodCallException(sprintf("Unknown property '%s' on annotation '%s'.", $key, get_class($this)));
      }
      $this
        ->{$method}($value);
    }
  }

  /**
   * @deprecated Deprecated in 2.2, to be removed in 3.0. Use setPath instead.
   */
  public function setPattern($pattern) {
    $this->path = $pattern;
  }

  /**
   * @deprecated Deprecated in 2.2, to be removed in 3.0. Use getPath instead.
   */
  public function getPattern() {
    return $this->path;
  }
  public function setPath($path) {
    $this->path = $path;
  }
  public function getPath() {
    return $this->path;
  }
  public function setHost($pattern) {
    $this->host = $pattern;
  }
  public function getHost() {
    return $this->host;
  }
  public function setName($name) {
    $this->name = $name;
  }
  public function getName() {
    return $this->name;
  }
  public function setRequirements($requirements) {
    $this->requirements = $requirements;
  }
  public function getRequirements() {
    return $this->requirements;
  }
  public function setOptions($options) {
    $this->options = $options;
  }
  public function getOptions() {
    return $this->options;
  }
  public function setDefaults($defaults) {
    $this->defaults = $defaults;
  }
  public function getDefaults() {
    return $this->defaults;
  }
  public function setSchemes($schemes) {
    $this->schemes = is_array($schemes) ? $schemes : array(
      $schemes,
    );
  }
  public function getSchemes() {
    return $this->schemes;
  }
  public function setMethods($methods) {
    $this->methods = is_array($methods) ? $methods : array(
      $methods,
    );
  }
  public function getMethods() {
    return $this->methods;
  }

}

Classes

Namesort descending Description
Route Annotation class for @Route().