2015-09-19 155 views
0

我试图为我包内的一个配置文件的潜在位置内寻找项目根:.config.yml从作曲家包

目前,我装我的一个类中的数组以及一些典型地点:

protected $configDirectories = [ 
    './', 
    './config', 
    './app/config', 
    './config', 
    './vendor/name/packagename/config' 
]; 

问题是;我的包被加载到./vendor/name/packagename当然,./不知道如何到达项目根目录。

其目的是让这个软件包的用户只需将.config.yml放入任何预先指定的目录中即可获得。我怎样才能做到这一点?

回答

-1

我有类似的情况。在我的情况下,前端控制器在./。所以,我需要我的包的用户做这样的事情......

\Wonderful\Package\Init::setRootDirectory(__DIR__); 

(但我最终决定,而不是有魔力的搜索顺序在幕后发生的事情,找到配置文件,我结束了具有一个(或多个)明确指定(可与任何名称的任意位置)的配置文件...

\Wonderful\Package\Init::loadConfigFile(__DIR__.'/config.yml'); 
\Wonderful\Package\Init::loadConfigFile(__DIR__.'/config.DEV-overrides.yml'); 
-1

如果你想给用户配置包的能力,你必须通过semantic configuration而不是通过做一个指定的和自己的配置文件,这是Symfony的方式