0
我有一个第三方库,我不应该修改下面的类。PHP猴修补第三方类
<?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
}
}
我如何可以覆盖或钩的send()方法或者我能覆盖整个班级MyMailer用我自己的新类?
下面的链接建议使用未默认与PHP捆绑的runKit。所以不能保证它在我的所有服务器中都可用。我了解到这种方法被称为猴子修补。
所有的答案是很老,我想,如果有任何可用的新的解决方案。
难道你不能扩展类并添加一个'send'方法到不调用'parent :: send()'的新子类吗?如果您的代码需要实例化MyMailer基... – CD001
@ CD001:很多外部库使用此方法,我无法编辑它们以使用扩展类。 – Purus
不,扩展的班级将是你的任何你想要的 – RiggsFolly