我希望能够在我为laravel开发的特定包中设置一些配置值。
例:
"extra": {
"maxminddbpath": "src/storage/db"
},
我需要从我的一个类中访问这些值。如何做到这一点。
伪代码可能如下所示:
public function fire()
{
$this->getCompiler()->getPackage()->getExtra();//returns the extra node from composer.json
}
对于我的示例,我将从扩展\Command 的类中访问值
我倾向于同意在某些人看来,这是狂热或愚蠢的事情,因为有更好的选择。我明白
在这种情况下,你能回答这个问题吗,作为软件架构师,是否有任何情况可能会发现在该配置文件(composer.json)中查找临时静态值更好?
我认为正在发生的事情是,我们通过声明不应该这样做来回避这个问题。
然后可以提出一个论点,即 JSON 文件的配置与应用程序的配置无关,而应用程序的性质是 composer.json 配置文件不可能是真的。
看看 github 上的这行代码:https://github.com/mente/MaxMindGeoIpBundle/blob/master/Composer/ScriptHandler.php#L22
这是为交响乐而不是拉拉维尔设计的,但它们是彼此的父子分支。我假设 laravel 框架中会有一些东西来处理这种类型的请求。
其他用途可能包括:
- 读取咕噜咕噜的文件
- 读取拼音配置
- 读取节点配置
- 读取部署设置
- 读取流浪者配置
对图书馆的建议?.
composer.json
中的配置应仅在作曲家过程中使用的配置。在这种情况下,您必须使用作曲家脚本,这些脚本可以访问此额外配置。
当某个设置未在作曲家进程中专门使用时,它更像是应用配置的一部分,应属于应用程序的配置文件。我不太了解Laravel,但我想它具有不错的配置功能。