Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
101 lines (88 loc) · 1.94 KB

File metadata and controls

101 lines (88 loc) · 1.94 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php
/**
* This file is part of the Stack package.
*
* (c) Andrzej Kostrzewa <andkos11@gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Stack\Routing;
/**
* Collection of Route.
*
* @author Andrzej Kostrzewa <andkos11@gmail.com>
*/
class RouteCollection implements \IteratorAggregate, \Countable
{
/**
* @var array
*/
private $routes = [];
/**
* Clone of the RouteCollection.
*/
public function __clone()
{
foreach ($this->routes as $name => $route) {
$this->routes[$name] = clone $route;
}
}
/**
* Add route to collection.
*
* @param Route $route
*/
public function add(Route $route)
{
$name = $route->name();
unset($this->routes[$name]);
$this->routes[$name] = $route;
}
/**
* Add collection of route.
*
* @param RouteCollection $collection
*/
public function addCollection(RouteCollection $collection)
{
foreach ($collection as $name => $route) {
unset($this->routes[$name]);
$this->routes[$name] = $route;
}
}
/**
* Count route in collection.
*
* @return int
*/
public function count() : int
{
return count($this->routes);
}
/**
* Get route from collection.
*
* @param string $name
*
* @return Route
* @throws Exception\RouteNotFound
*/
public function get(string $name) : Route
{
if (!isset($this->routes[$name])) {
throw Exception::RouteNotFound($name);
}
return $this->routes[$name];
}
/**
* Get iterator of collection.
*
* @return \ArrayIterator
*/
public function getIterator() : \ArrayIterator
{
return new \ArrayIterator($this->routes);
}
}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.