Code Duplication    Length = 16-18 lines in 2 locations

src/Phinx/Config/Config.php 2 locations

@@ 64-81 (lines=18) @@
61
     *
62
     * @return \Phinx\Config\Config
63
     */
64
    public static function fromYaml($configFilePath)
65
    {
66
        if (!class_exists('Symfony\\Component\\Yaml\\Yaml', true)) {
67
            throw new RuntimeException('Missing yaml parser, symfony/yaml package is not installed.');
68
        }
69
70
        $configFile = file_get_contents($configFilePath);
71
        $configArray = Yaml::parse($configFile);
72
73
        if (!is_array($configArray)) {
74
            throw new RuntimeException(sprintf(
75
                'File \'%s\' must be valid YAML',
76
                $configFilePath
77
            ));
78
        }
79
80
        return new static($configArray, $configFilePath);
81
    }
82
83
    /**
84
     * Create a new instance of the config class using a JSON file path.
@@ 92-107 (lines=16) @@
89
     *
90
     * @return \Phinx\Config\Config
91
     */
92
    public static function fromJson($configFilePath)
93
    {
94
        if (!function_exists('json_decode')) {
95
            throw new RuntimeException("Need to install JSON PHP extension to use JSON config");
96
        }
97
98
        $configArray = json_decode(file_get_contents($configFilePath), true);
99
        if (!is_array($configArray)) {
100
            throw new RuntimeException(sprintf(
101
                'File \'%s\' must be valid JSON',
102
                $configFilePath
103
            ));
104
        }
105
106
        return new static($configArray, $configFilePath);
107
    }
108
109
    /**
110
     * Create a new instance of the config class using a PHP file path.