@@ -26,24 +26,29 @@ class Manager
26
26
27
27
public static function initialize ($ url )
28
28
{
29
- $ directory = parse_url ($ url , PHP_URL_PATH );
30
- return Cache::instance ()->fetch (__METHOD__ )->then (null , function ($ key ) use ($ directory ) {
31
- $ configurations = array ();
32
- if (!is_dir ($ directory )) {
33
- throw new Exception ("Configuration directory $ directory is not valid. " );
34
- }
35
- foreach ((array ) scandir ($ directory ) as $ path ) {
36
- $ extension = pathinfo ($ path , PATHINFO_EXTENSION );
37
- $ path = $ directory . DIRECTORY_SEPARATOR . $ path ;
38
- if ($ Parser = static ::get (__CLASS__ , "parsers. $ extension " )) {
39
- $ configurations = array_replace_recursive ($ configurations , $ Parser ::parse ($ path ));
40
- }
41
- }
42
- Cache::instance ()->store ($ key , $ configurations );
43
- return $ configurations ;
44
- })->then (function ($ configurations ) {
45
- static ::$ configurations = array_merge ($ configurations , static ::$ configurations );
46
- });
29
+ switch (parse_url ($ url , PHP_URL_SCHEME )) {
30
+ case 'file ' :
31
+ $ directory = parse_url ($ url , PHP_URL_PATH );
32
+ return Cache::instance ()->fetch (__METHOD__ )->then (null , function ($ key ) use ($ directory ) {
33
+ $ configurations = array ();
34
+ if (!is_dir ($ directory )) {
35
+ throw new Exception ("Configuration directory $ directory is not valid. " );
36
+ }
37
+ foreach ((array ) scandir ($ directory ) as $ path ) {
38
+ $ extension = pathinfo ($ path , PATHINFO_EXTENSION );
39
+ $ path = $ directory . DIRECTORY_SEPARATOR . $ path ;
40
+ if ($ Parser = static ::get (__CLASS__ , "parsers. $ extension " )) {
41
+ $ configurations = array_replace_recursive ($ configurations , $ Parser ::parse ($ path ));
42
+ }
43
+ }
44
+ return Cache::instance ()->store ($ key , $ configurations );
45
+ })->then (function ($ configurations ) {
46
+ return static ::$ configurations = array_merge ($ configurations , static ::$ configurations );
47
+ });
48
+ case 'mysql ' :
49
+ default :
50
+ throw new Exception ('Configuration scheme currently not supported ' );
51
+ }
47
52
}
48
53
49
54
public static function defaults ($ class , $ configuration = array ())
0 commit comments