У меня есть ниже класс в сторонней библиотеке, которую я не должен изменять.
<?php
class MyMailer {
public function send() {
$mail = new PHPMailer();
$mail->setFrom('[email protected]', 'Your Name');
$mail->addAddress('[email protected]', 'My Friend');
$mail->Subject = 'First PHPMailer Message';
$mail->Body = 'Hi! This is my first e-mail sent through PHPMailer.';
$mail->Send();
}
public function check(){
//code
}
}
Как я могу переопределить или подключить Отправить() метод или как я могу переопределить весь класс MyMailer своим собственным новым классом?
Ссылка ниже предлагает использовать runKit, который не связан с PHP по умолчанию. Так что нет никакой гарантии, что все это доступно на всех моих серверах. Я узнал, что этот подход называется Monkey Patching.
Все ответы очень стары, и я хотел бы, чтобы было какое-либо новое доступное решение.
Библиотека Patchwork очень проста, и я заставляю ее работать всего за несколько попыток.
Других решений пока нет …