如何在Composer-php中使所需的软件包成为全局软件包?

时间:2019-06-09 20:40:02

标签: php composer-php

假设我有一个软件包sprout_services,而我正在使用另外3个软件包require。一旦第一个要运行的软件包需要它,那么它将在全局空间中打开。

我可以在应用程序中的任何地方执行new SproutServices\ServiceLocator。现在,一旦我的第二个程序包初始化了sprout_services,我将不可避免地遇到Class has already been declared的问题,因为我试图重新定义以前自动加载的相同类。 / p>

如何使此sprout_services程序包在全局状态下打开,而又不覆盖它,并输入“嘿,我是第一个在这里!”的冲突?

1 个答案:

答案 0 :(得分:0)

我什么都没惊慌。

解决依赖关系并因此由作曲家将其包含在内后,它将进入全局名称空间,并且无法覆盖。作曲家知道并看到了它,因此不会尝试重新加载。

我不确定如果不同版本的班级名称相同会​​怎样,我将在发现更多内容时更新此答案。