PHP 在 PHPMailer 中报告 "Cannot redeclare class"

PHP reports "Cannot redeclare class" in PHPMailer

我在这样的脚本中使用 PHPMailer:

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'phpmailer/src/Exception.php';
require 'phpmailer/src/PHPMailer.php';
require 'phpmailer/src/SMTP.php';

这是有效的,但我有另一个脚本也需要使用它。当我尝试重新声明它时,出现以下错误,因为该文件已包含在内...

Cannot declare class PHPMailer\PHPMailer\Exception

我想确保它已被声明,如果没有则加载到这个新页面上。我试过这个但没有运气......

if (!class_exists("PHPMailer\PHPMailer\Exception")) {

    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;

    require 'phpmailer/src/Exception.php';
    require 'phpmailer/src/PHPMailer.php';
    require 'phpmailer/src/SMTP.php';

}

这就是 require_once 的目的。

The require_once statement is identical to require except PHP will check if the file has already been included, and if so, not include (require) it again.