0

我正在研究由其他开发人员开发的脚本。有一个发送电子邮件的警报系统,每个模块都有自己的警报文件和警报文件require_oncePHPMailer

<?php
    // assume this is 1.php
    //.......... some code above //
    $mail_title = 'Message Title';
    $mail_body = 'Message body with complete details what has been done here';    
    require_once 'module_alert.php'; // <- PHP Mailer is requir_once in this file
    //........... ajax and some response //
?>

只要我 require_once 它会生成一封电子邮件并发送它。

现在我必须更新模块中的 PHP 页面。该页面必须将数据发布到模块的 3 个不同的 php 页面。在该页面仅通过 ajax 向一个 php 页面发送数据之前,其他两个页面使用第一个自动递增的 ID。

由于复杂性,我正在考虑将其他两个文件也包含在文件 1 中

<?php
    // assume this is 1.php
    //.......... some code above //
    $mail_title = 'Message Title';
    $mail_body = 'Message body with complete details what has been done here';    
    require_once 'module_alert.php'; // <- PHP Mailer is requir_once in this file
    //........... ajax and some response //
    if($condition){
        include '2.php'; // <- this file again require_once 'module_alert.php'
        include '3.php'; // <- this file again require_once 'module_alert.php'
    }
?>

问题是我想为所有 3 个步骤发送警报,而且我不想更改其他文件中的大量代码,因为我可能会破坏脚本。

在这种情况下我有什么选择生存?

编辑

里面有module_alerts.php很多东西。邮件布局、表格图像、有条件的收件人、谁应该收到此模块的警报等。 $mail->send() 函数以便将电子邮件发送到特定的收件人。

4

1 回答 1

2

发送电子邮件的逻辑应该包装在一个函数中,然后您可以在程序中的任何位置使用适当的参数调用该函数。例如:

function sendMyEmail($recipient, $subject, $message)
{ ... }

您当然可以构建一个类、一系列函数,实际上是任何类型的合法可重用设施,这将缓解现在和将来的问题。

高温高压

于 2013-02-05T13:28:55.933 回答