Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP错误:致命错误:调用未定义的方法_Php_Methods_Undefined_Fatal Error - Fatal编程技术网

PHP错误:致命错误:调用未定义的方法

PHP错误:致命错误:调用未定义的方法,php,methods,undefined,fatal-error,Php,Methods,Undefined,Fatal Error,我的邮件类有问题。它以前是有效的,但现在我不知道发生了什么。以下是错误: Fatal error: Call to undefined method Mail::sendTo() in C:\...\web\modules\register.php on line 30 我的邮件类别: class Mail { public static $Headers = 'From:akshay@myemail.com'; public $sendtowho; public $subject; publ

我的邮件类有问题。它以前是有效的,但现在我不知道发生了什么。以下是错误:

Fatal error: Call to undefined method Mail::sendTo() in C:\...\web\modules\register.php on line 30
我的邮件类别:

class Mail
{
public static $Headers = 'From:akshay@myemail.com';
public $sendtowho;
public $subject;
public $message;
public $template;

public function sendTo($who='')
{
    $this->sendtowho = $who;
}

public function with($subj='',$template)
{
    $this->subject = $subj;
    $this->template = $template;
}

public function addVars($variables)
{
    $TemplateHandler = new Template('mail');
    $this->message = $TemplateHandler->renderContent($this->template, $variables);
}

public function send()
{
    mail($this->sendtowho, $this->subject, $this->message, self::$Headers);
}
}
myregister.php

$mail = new Mail();
$mail->sendTo(User::getMailFromUsername($username));
$mail->with(' Registration Info','registration');
$mail->addVars(array('name' => User::getNameFromUsername($username), 'regKey' => $regKey));
$mail->send();
发生错误的行:

$mail->sendTo(用户::getMailFromUsername($username))

谢谢你的帮助,谢谢


编辑:对方法和var to的名称做了一些更改,以便您更好地理解它。但仍然给出相同的错误

我解决了这个问题。只需要将我的类的名称从Mail更改为MailInterface。邮件类已被其他内容占用。我在PHP5.5中使用XAMPP。

我修复了这个问题。只需要将我的类的名称从Mail更改为MailInterface。邮件类已被其他内容占用。我在PHP5.5中使用XAMPP。

那么$mail在哪里被设置为mail类的实例?您在哪里初始化了该类?搜索
$mail=new mail”。加上它,你确定这是台词吗
Mail::to()
(静态)和
Mail->to()
(实例)是不同类型的函数。您有一个公共变量
$Mail->to
,与公共方法
$Mail->to()
同名。我想这就是问题的根源。尝试更改其中一个邮件的名称。那么$mail在哪里被设置为mail类的实例?您在哪里初始化了该类?搜索
$mail=new mail”。加上它,你确定这是台词吗
Mail::to()
(静态)和
Mail->to()
(实例)是不同类型的函数。您有一个公共变量
$Mail->to
,与公共方法
$Mail->to()
同名。我想这就是问题的根源。尝试更改其中一个的名称。