PHP сообщает «Не удается переопределить класс» в PHPMailer - PullRequest
0 голосов
/ 07 февраля 2019

Я использую 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';

}

1 Ответ

0 голосов
/ 07 февраля 2019

Вот для чего require_once .

Оператор require_once идентичен require, за исключением того, что PHP проверит, был ли файл уже включен, и, если это так, не включает (требуется) это снова.

...