OSDN Git Service

Merge pull request #92 from dannyvankooten/enhancement/add-docheader
[php-libraries/Router.git] / src / RouteCollection.php
1 <?php
2 /**
3  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
4  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
5  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
6  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
7  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
8  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
9  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
10  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
11  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
12  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
13  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14  *
15  * This software consists of voluntary contributions made by many individuals
16  * and is licensed under the MIT license.
17  */
18 namespace PHPRouter;
19
20 /**
21  * @author Jefersson Nathan <malukenho@phpse.net>
22  *
23  * @package PHPRouter
24  */
25 class RouteCollection extends \SplObjectStorage
26 {
27     /**
28      * Attach a Route to the collection.
29      *
30      * @param Route $attachObject
31      */
32     public function attachRoute(Route $attachObject)
33     {
34         parent::attach($attachObject, null);
35     }
36
37     /**
38      * Fetch all routes stored on this collection of routes and return it.
39      *
40      * @return Route[]
41      */
42     public function all()
43     {
44         $temp = array();
45         foreach ($this as $route) {
46             $temp[] = $route;
47         }
48
49         return $temp;
50     }
51 }