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

我希望能够在我为laravel开发的特定包中设置一些configuration值。

例:

"extra": { "maxminddbpath": "src/storage/db" }, 

我需要从我的一个类中访问这些值。 这怎么能做到。

伪代码可能看起来像这样:

 public function fire() { $this->getCompiler()->getPackage()->getExtra();//returns the extra node from composer.json } 

对于我的例子,我将访问扩展\ Command类中的值


我倾向于同意,在某些人看来,这是一种狂热或愚蠢的行为,因为有更好的select。 我明白那个

在这种情况下,你可以回答这个问题吗?是否有任何情况下可以find一个更好的软件架构师来findconfiguration文件(composer.json)中的临时静态值?

我认为现在发生的事情是我们正在回避这个问题,说明不应该这样做。

那么可以说一个json文件的configuration与应用程序的configuration无关, 在本质上,composer.jsonconfiguration文件不能为真。


看看这个代码在github上: https : //github.com/mente/MaxMindGeoIpBundle/blob/master/Composer/ScriptHandler.php#L22

这是为交响乐而devise的,不是拉拉维尔,而是彼此的父子分支。 我假设在laravel框架内会有一些东西来处理这种请求。


其他用途可能包括:

  • 读Grunt文件
  • 阅读Rubyconfiguration
  • 读取节点configuration
  • 读取部署设置
  • 读Vagrantconfiguration

build议图书馆?

composer.json中的configuration只能是在编写器过程中使用的configuration。 在这种情况下,您必须使用可以访问这个extrasconfiguration的composer脚本。

当一个设置没有专门用在composer进程中时,它是应用程序configuration的一部分,应该属于应用程序的configuration文件。 我不太了解Laravel,但我猜它具有很好的configurationfunction。