PHP在PHPMailer中报告“无法重新声明类”

问题描述 投票:-1回答:1

我在这样的脚本中使用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';

}
php phpmailer
1个回答
3
投票

这就是require_once的用途。

require_once语句与require相同,但PHP将检查文件是否已被包含,如果已包含,则不再包括(require)它。

© www.soinside.com 2019 - 2024. All rights reserved.