在 Laravel 命令类中获取包 composer.json 值



我希望能够在我为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,但我想它具有不错的配置功能。

相关内容

  • 没有找到相关文章

最新更新