我在第三方库中有以下课程,我不应该修改。
<?php
class MyMailer {
public function send() {
$mail = new PHPMailer();
$mail->setFrom('from@example.com', 'Your Name');
$mail->addAddress('myfriend@example.net', '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
}
}
如何覆盖或挂钩 send()方法,或者如何使用我自己的新类覆盖整个类MyMailer?
以下链接建议使用默认情况下未与PHP捆绑的runKit。因此无法保证我的所有服务器都可以使用它。我了解到这种方法称为Monkey Patching。
所有答案都很老,我希望有任何新的解决方案。