Мне поручено обновить внедренные в настоящее время классы PHPMailer версии 5.2.4 до последней стабильной версии этих классов для веб-приложения электронной коммерции, которое переносится с PHP 5.6 на PHP 7.2.
Сайт использует PHPMailer версии 5.2.4 и связанные с ним классы, установленные без использования Composer, без каких-либо проблем в течение многих лет для создания электронных писем о транзакциях, которые отправляются через стороннего поставщика электронной почты SMTP.
Я хотел бы обновить классы PHPMailer 5.2.4 до последней стабильной версии и продолжать использовать классы в коде, не развертывая их через Composer.
Мне известно, что начиная с версии 6.0 PHPMailer, что пространство имен должно быть добавлено в код.
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
use PHPMailer\PHPMailer\SMTP;
require 'src/Exception.php';
require 'src/PHPMailer.php';
require 'src/SMTP.php';
Я пошел в проект PHPMailer на GitHub и скачал следующие файлы из мастер-ветви GitHub:
https://github.com/PHPMailer/PHPMailer/tree/master/src
src/PHPMailer.php
src/Exception.php
src/SMTP.php
Я добавил необходимыепространства имен для моего существующего кода, который использует эти классы;и я также обновил свой существующий код обработки исключений, который ранее перехватывал исключения типа phpmailerException, чтобы теперь использовать пространство имен класса исключения PHPMailer, а любые существующие ссылки на исключения используют глобальное пространство имен;
...
try {
...
} catch (Exception $e) {
//$e is an instance of PHPMailer\PHPMailer\Exception
echo $e->errorMessage();
} catch (\Exception $e) {
//$e is an instance of the PHP built-in Exception class
echo $e->getMessage();
}
После выполнения этих обновлений все работало нормально, чтобы генерировать электронные письма в моей среде разработки под управлением PHP версии 7.2.
Я готов развернуть обновление на производственном / живом сервере моего сайта и хотел бы подтвердить, что я использовал последние стабильные полностью протестированные версии классов PHPMailer.
У меня просто несколько глупый вопрос / беспокойство:
При использовании классов PHPMailer без Composer я прочитал несколько руководств, чтобы загрузить эти классы из мастер-ветки проекта PHPMailer GitHub.
Однако я также читал в некоторых руководствах по использованию версии 6.0 PHPMailer.Кроме того, я, кажется, вспоминаю, что где-то читал, что ветвь master не гарантированно стабильна.
МОЙ ВОПРОС: Правильно ли я использовал GitHub Master Branch src чтобы загрузить классы PHPMailer для использования на моем веб-сайте, если мне нужны последние стабильные полностью протестированные версии этих предложений?
Или, возможно, я должен использовать GitHub 6.0 Branch src для загрузки этих файлов классов?
В дополнение к моему замешательству я вижу, что единственная ветвь, которая специально помечена как "стабильная", - это ветка GitHub "5.2 Stable", а ее последняя версия - 5.2.27.
В связаннойобратите внимание, не могли бы вы уточнить следующее в основной ветке:
**src/SMTP.php**
(has const VERSION = '6.0.6';)
**src/Exception.php**
Is there a reason that comments or code in this file does not mention Version 6.0.6?
**src/PHPMailer.php**
Is there a reason that comments or code in this file does not mention Version 6.0.6?
Большое спасибо за вашу помощь.