失败:在 PHPmailer 中使用静态函数

FAILED: using static functions with PHPmailer

当我想在其他几个页面上将邮件 class 发送到 运行 并且将 link 发送到这一页面时,我想使用静态函数。下面的代码按编写的方式工作(成功发送电子邮件),直到我添加 "Class MAIL Public...(){" 现在它不起作用。

谁能告诉我我做错了什么?

<?php 
require '../PHPMailer/PHPMailerAutoload.php';


 class Mail {

    public static function sendMail() {

 $mail = new PHPMailer;
 $mail->isSMTP();
 $mail->Host = 'smtp.gmail.com';              
 $mail->SMTPAuth = true; 
  $mail->Username = 'memphis@gmail.com';                 
  $mail->Password = '******';                           
 $mail->SMTPSecure = 'tls';                            
 $mail->Port = 587;                                    
 $mail->setFrom('Urban@yahoo.com');
 $mail->addAddress('memphis@gmail.com');
 $mail->Subject = 'Test Mail 5';
  $mail->Body = 'This is Test Mail';

 if (!$mail->send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
    } else {
  echo "Message sent!";
  } 
    }
    }

  ?>

应使用 Class 名称调用静态函数。

如果您在 class Mail 中创建函数 sendMail(),则必须使用 Mail::sendMail().

访问它

考虑下面的例子。

class Example
{
    public static function exampleFunction(){
        // Some Code Here
    }

    public function testFunction(){
        // Some Code Here
    }
}

// Accessing Non-static function
$exampleClass = new Example;
$exampleClass->testFunction();

// Accessing Static function
Example::exampleFunction();

检查 static 关键字在 OOP 中的使用。