假设我有一个软件包sprout_services
,而我正在使用另外3个软件包require
。一旦第一个要运行的软件包需要它,那么它将在全局空间中打开。
我可以在应用程序中的任何地方执行new SproutServices\ServiceLocator
。现在,一旦我的第二个程序包初始化了sprout_services
,我将不可避免地遇到Class has already been declared
的问题,因为我试图重新定义以前自动加载的相同类。 / p>
如何使此sprout_services
程序包在全局状态下打开,而又不覆盖它,并输入“嘿,我是第一个在这里!”的冲突?
答案 0 :(得分:0)
我什么都没惊慌。
解决依赖关系并因此由作曲家将其包含在内后,它将进入全局名称空间,并且无法覆盖。作曲家知道并看到了它,因此不会尝试重新加载。
我不确定如果不同版本的班级名称相同会怎样,我将在发现更多内容时更新此答案。