我正在开发一个包含数十种不同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';
}
该如何解决?谢谢!