Пытаюсь использовать класс MailValidator в проекте:
<?php
namespace App;
use MailValidator;
class Application
{
private $request;
public function __construct()
{
if (!RequestValidator::checkRequestType('POST')) {
throw new \Exception('Wrong request method');
}
if (RequestValidator::checkRequestIsEmpty($_POST)) {
throw new \Exception('Empty request');
}
$this->request = $_POST;
}
public function run()
{
$mailValidator = new MailValidator();
echo $mailValidator->validate($this->request['EMAIL']);
}
}
сам класс:
<?php
class MailValidator
{
private $regExp = '/^(([\wА-Яа-я]{1,})@([\wА-Яа-я]{1,}\.)+[A-Za-zА-Яа-я]{2,})$/ui';
private $mailAddress;
public function validate($mailAddress)
{
$this->mailAddress = $mailAddress;
if($this->validateMailAddress()) {
if ($this->checkMXRecord()) {
throw new \Exception('Mail is valid');
}
}
throw new \Exception('Mail is invalid');
}
private function validateMailAddress()
{
return preg_match($this->regExp, $this->mailAddress);
}
private function checkMxRecord()
{
$arMailAddress = explode('@', $this->mailAddress);
return getmxrr($arMailAddress[1], $hosts);
}
}
Лежит в папке vendor. Автозагрузка классов вроде настроена, вот composer.json:
{
"require": {
"php": ">=7.4",
"ext-json": "*",
"ext-sockets": "*",
"apinyansky/mail_validator": "^1.0"
},
"autoload": {
"psr-4": {
"App\\": "app_src"
}
}
}
Но при запуске кода я получаю ошибку:
Fatal error: Uncaught Error: Class 'MailValidator' not found in /var/www/otus.local/app_src/Application.php:24 Stack trace: #0 /var/www/otus.local/app.php(7): App\Application->run() #1 {main} thrown in /var/www/otus.local/app_src/Application.php on line 24
Подскажите в чём может быть проблема?!??
Заранее всем спасибо)