php全局变量使用了composer自动加载不可用

yc8332
  • 1.1k

这个属于历史遗留代码,原程序员直接在配置文件实例化数据库实例

$db = new db();

这种代码如果是正常用require/include来包含没神马问题,他判断时候时候是取$GLOBALS['db']来判断。

因为文件有些多,现在想复用部分模型,因为有包含关系,得一个一个去试,然后包含进来,想弄成自动加载,所以我用了composer自动加载, 使用composer自动加载的文件$GLOBALS['db']为空,我平时不用这个全局参数,不清楚这个东西神马情况。

这个问题我自己是已经解决了,就是$db = new db(),改成$GLOBALS['db']就可以了,就是显式的去赋值。

不明白为什么使用手动包含的$db会存在,使用composer自动加载的$db就会没掉,请大神指导。

回复
阅读 2.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏