annotate vendor/symfony/routing/Annotation/Route.php @ 8:50b0d041100e

Further files for download
author Chris Cannam
date Mon, 05 Feb 2018 10:56:40 +0000
parents 4c8ae668cc8c
children 1fec387a4317
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 /*
Chris@0 4 * This file is part of the Symfony package.
Chris@0 5 *
Chris@0 6 * (c) Fabien Potencier <fabien@symfony.com>
Chris@0 7 *
Chris@0 8 * For the full copyright and license information, please view the LICENSE
Chris@0 9 * file that was distributed with this source code.
Chris@0 10 */
Chris@0 11
Chris@0 12 namespace Symfony\Component\Routing\Annotation;
Chris@0 13
Chris@0 14 /**
Chris@0 15 * Annotation class for @Route().
Chris@0 16 *
Chris@0 17 * @Annotation
Chris@0 18 * @Target({"CLASS", "METHOD"})
Chris@0 19 *
Chris@0 20 * @author Fabien Potencier <fabien@symfony.com>
Chris@0 21 */
Chris@0 22 class Route
Chris@0 23 {
Chris@0 24 private $path;
Chris@0 25 private $name;
Chris@0 26 private $requirements = array();
Chris@0 27 private $options = array();
Chris@0 28 private $defaults = array();
Chris@0 29 private $host;
Chris@0 30 private $methods = array();
Chris@0 31 private $schemes = array();
Chris@0 32 private $condition;
Chris@0 33
Chris@0 34 /**
Chris@0 35 * Constructor.
Chris@0 36 *
Chris@0 37 * @param array $data An array of key/value parameters
Chris@0 38 *
Chris@0 39 * @throws \BadMethodCallException
Chris@0 40 */
Chris@0 41 public function __construct(array $data)
Chris@0 42 {
Chris@0 43 if (isset($data['value'])) {
Chris@0 44 $data['path'] = $data['value'];
Chris@0 45 unset($data['value']);
Chris@0 46 }
Chris@0 47
Chris@0 48 foreach ($data as $key => $value) {
Chris@0 49 $method = 'set'.str_replace('_', '', $key);
Chris@0 50 if (!method_exists($this, $method)) {
Chris@0 51 throw new \BadMethodCallException(sprintf('Unknown property "%s" on annotation "%s".', $key, get_class($this)));
Chris@0 52 }
Chris@0 53 $this->$method($value);
Chris@0 54 }
Chris@0 55 }
Chris@0 56
Chris@0 57 public function setPath($path)
Chris@0 58 {
Chris@0 59 $this->path = $path;
Chris@0 60 }
Chris@0 61
Chris@0 62 public function getPath()
Chris@0 63 {
Chris@0 64 return $this->path;
Chris@0 65 }
Chris@0 66
Chris@0 67 public function setHost($pattern)
Chris@0 68 {
Chris@0 69 $this->host = $pattern;
Chris@0 70 }
Chris@0 71
Chris@0 72 public function getHost()
Chris@0 73 {
Chris@0 74 return $this->host;
Chris@0 75 }
Chris@0 76
Chris@0 77 public function setName($name)
Chris@0 78 {
Chris@0 79 $this->name = $name;
Chris@0 80 }
Chris@0 81
Chris@0 82 public function getName()
Chris@0 83 {
Chris@0 84 return $this->name;
Chris@0 85 }
Chris@0 86
Chris@0 87 public function setRequirements($requirements)
Chris@0 88 {
Chris@0 89 $this->requirements = $requirements;
Chris@0 90 }
Chris@0 91
Chris@0 92 public function getRequirements()
Chris@0 93 {
Chris@0 94 return $this->requirements;
Chris@0 95 }
Chris@0 96
Chris@0 97 public function setOptions($options)
Chris@0 98 {
Chris@0 99 $this->options = $options;
Chris@0 100 }
Chris@0 101
Chris@0 102 public function getOptions()
Chris@0 103 {
Chris@0 104 return $this->options;
Chris@0 105 }
Chris@0 106
Chris@0 107 public function setDefaults($defaults)
Chris@0 108 {
Chris@0 109 $this->defaults = $defaults;
Chris@0 110 }
Chris@0 111
Chris@0 112 public function getDefaults()
Chris@0 113 {
Chris@0 114 return $this->defaults;
Chris@0 115 }
Chris@0 116
Chris@0 117 public function setSchemes($schemes)
Chris@0 118 {
Chris@0 119 $this->schemes = is_array($schemes) ? $schemes : array($schemes);
Chris@0 120 }
Chris@0 121
Chris@0 122 public function getSchemes()
Chris@0 123 {
Chris@0 124 return $this->schemes;
Chris@0 125 }
Chris@0 126
Chris@0 127 public function setMethods($methods)
Chris@0 128 {
Chris@0 129 $this->methods = is_array($methods) ? $methods : array($methods);
Chris@0 130 }
Chris@0 131
Chris@0 132 public function getMethods()
Chris@0 133 {
Chris@0 134 return $this->methods;
Chris@0 135 }
Chris@0 136
Chris@0 137 public function setCondition($condition)
Chris@0 138 {
Chris@0 139 $this->condition = $condition;
Chris@0 140 }
Chris@0 141
Chris@0 142 public function getCondition()
Chris@0 143 {
Chris@0 144 return $this->condition;
Chris@0 145 }
Chris@0 146 }