Класс 'PHPMailer \ PHPMailer \ PHPMailer' не найден в - PullRequest
0 голосов
/ 02 января 2019

Я использую Composer, но ничего из того, что я пробовал, не сработало.

Я пытался потребовать автозагрузку композитора.

require BASE_URL.'assets/vendor/autoload.php';

и использовать пространство имен

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

но я все еще получаю сообщение об ошибке

Неустранимая ошибка: класс 'PHPMailer \ PHPMailer \ PHPMailer' не найден в

Вот мой упрощенный класс

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

require 'vendor/phpmailer/src/Exception.php';
require 'vendor/phpmailer/src/PHPMailer.php';
require 'vendor/phpmailer/src/SMTP.php';
class Email extends model{ 
    public function enviarContato($nome, $email, $mensagem){
        $mail = new PHPMailer(true); 
}
}

Я считаю, что импортирую неправильно, поэтому вот моя структура пути.

img

img

Я использую Email.php.

Спасибо

1 Ответ

0 голосов
/ 02 января 2019

BASE_URL содержит http://192.168.1.240/project/

Если вы передаете require с URL, весь вызов происходит через веб-сервер, таким образом, вы получаете результат выполнения кода, а не сам код,Вам нужен путь к файловой системе, например:

require __DIR__ . '/path/to/autoload.php';
...