1: <?php
2:
3: 4: 5: 6: 7: 8: 9: 10:
11:
12: namespace Symfony\Component\Routing;
13:
14: 15: 16: 17: 18:
19: class CompiledRoute implements \Serializable
20: {
21: private $variables;
22: private $tokens;
23: private $staticPrefix;
24: private $regex;
25: private $pathVariables;
26: private $hostVariables;
27: private $hostRegex;
28: private $hostTokens;
29:
30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41:
42: public function __construct($staticPrefix, $regex, array $tokens, array $pathVariables, $hostRegex = null, array $hostTokens = array(), array $hostVariables = array(), array $variables = array())
43: {
44: $this->staticPrefix = (string) $staticPrefix;
45: $this->regex = $regex;
46: $this->tokens = $tokens;
47: $this->pathVariables = $pathVariables;
48: $this->hostRegex = $hostRegex;
49: $this->hostTokens = $hostTokens;
50: $this->hostVariables = $hostVariables;
51: $this->variables = $variables;
52: }
53:
54: 55: 56:
57: public function serialize()
58: {
59: return serialize(array(
60: 'vars' => $this->variables,
61: 'path_prefix' => $this->staticPrefix,
62: 'path_regex' => $this->regex,
63: 'path_tokens' => $this->tokens,
64: 'path_vars' => $this->pathVariables,
65: 'host_regex' => $this->hostRegex,
66: 'host_tokens' => $this->hostTokens,
67: 'host_vars' => $this->hostVariables,
68: ));
69: }
70:
71: 72: 73:
74: public function unserialize($serialized)
75: {
76: $data = unserialize($serialized);
77: $this->variables = $data['vars'];
78: $this->staticPrefix = $data['path_prefix'];
79: $this->regex = $data['path_regex'];
80: $this->tokens = $data['path_tokens'];
81: $this->pathVariables = $data['path_vars'];
82: $this->hostRegex = $data['host_regex'];
83: $this->hostTokens = $data['host_tokens'];
84: $this->hostVariables = $data['host_vars'];
85: }
86:
87: 88: 89: 90: 91:
92: public function getStaticPrefix()
93: {
94: return $this->staticPrefix;
95: }
96:
97: 98: 99: 100: 101:
102: public function getRegex()
103: {
104: return $this->regex;
105: }
106:
107: 108: 109: 110: 111:
112: public function getHostRegex()
113: {
114: return $this->hostRegex;
115: }
116:
117: 118: 119: 120: 121:
122: public function getTokens()
123: {
124: return $this->tokens;
125: }
126:
127: 128: 129: 130: 131:
132: public function getHostTokens()
133: {
134: return $this->hostTokens;
135: }
136:
137: 138: 139: 140: 141:
142: public function getVariables()
143: {
144: return $this->variables;
145: }
146:
147: 148: 149: 150: 151:
152: public function getPathVariables()
153: {
154: return $this->pathVariables;
155: }
156:
157: 158: 159: 160: 161:
162: public function getHostVariables()
163: {
164: return $this->hostVariables;
165: }
166: }
167: