Composer的自动装带器与其他装卸器发生冲突

时间:2018-06-28 18:53:00

标签: php namespaces composer-php

我正在开发一个包含数十种不同php脚本的遗留应用程序,这些脚本都是在Composer广泛使用之前编写的。

我需要使用仅可通过Composer获得的软件包(用于发送电子邮件),因此我创建了composer目录并将其包含在一个脚本中,如下所示:

include_once("/home/soccer/src/autoload.php"); // the old autoloader
require '/home/soccer/src/Mailgun/vendor/autoload.php';
use Mailgun\Mailgun;

现在的问题是,Composer的自动加载(在第2行中显示)可以正常工作,并且我可以发送邮件,但是现在第1行中的重要库不起作用:

PHP Fatal error:  Class 'DB' not found in .....

有一个文件位于:

/home/soccer/src/DB.php

这是可以想象的最基本的MySQL数据库装载程序。我尝试使用以下方法向其中添加名称空间:

namespace Footyscores;

然后在PHP脚本中将** Footyscores **添加到函数调用中,但是没有运气,同样的错误。

这是旧式自动装带器:

include_once "/home/soccer/src/settings.php";

function __autoload($class)
{
  global $srcDir;

  $parts = explode('\\', $class);
  $file = end($parts);
  include_once $srcDir . $file . '.php';
}

该如何解决?谢谢!

0 个答案:

没有答案