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

时间:2014-12-26 22:04:39

标签: node.js laravel gruntjs vagrant composer-php

我希望能够在我为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配置文件不能为true。


看一下github上的这行代码: https://github.com/mente/MaxMindGeoIpBundle/blob/master/Composer/ScriptHandler.php#L22

这是为交响乐而不是laravel设计的,但它们是彼此的父子分支。我假设laravel框架中有一些东西可以处理这种类型的请求。


其他用途可能包括:

  • 阅读Grunt文件
  • 阅读Ruby配置
  • 阅读节点配置
  • 阅读部署设置
  • 阅读流浪汉配置

图书馆的建议?

1 个答案:

答案 0 :(得分:1)

composer.json中的配置应该只是在编写器过程中使用的配置。在这种情况下,您必须使用可以访问此额外配置的作曲家脚本。

如果在编写器进程中没有专门使用某个设置,则它更多地是应用程序配置的一部分,应该属于应用程序的配置文件。我不太了解Laravel,但我猜它有很好的配置功能。<​​/ p>

相关问题