OSDN Git Service

comoser: allow PHP 7 in safer way
[php-libraries/Router.git] / src / Config.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 use InvalidArgumentException;
21 use Symfony\Component\Yaml\Yaml;
22
23 /**
24  * Auxiliary Config class, to parse a Yaml file.
25  *
26  * @author Jefersson Nathan <malukenho@phpse.net>
27  * @package PHPRouter
28  */
29 final class Config
30 {
31     /**
32      * Avoid instantiation.
33      *
34      * @codeCoverageIgnore
35      */
36     private function __construct()
37     {
38     }
39
40     /**
41      * @param string $yamlFile file location.
42      * @throws InvalidArgumentException
43      *
44      * @return mixed[]
45      */
46     public static function loadFromFile($yamlFile)
47     {
48         if (!is_file($yamlFile)) {
49             throw new InvalidArgumentException(sprintf('The file %s not exists!', $yamlFile));
50         }
51
52         return Yaml::parse(file_get_contents($yamlFile));
53     }
54 }