在function1中可见的对象属性,但在function2中不可见

时间:2018-08-17 16:16:50

标签: php

我正在学习php对象,但是我对这段代码的结果感到困惑。调用mail函数时,所有对象属性均按预期方式传递,并且没有错误。调用MakeCommuni函数时,将传递前三个属性,而后两个属性与上一个函数具有相同的对象属性,则会产生以下错误:

注意:未定义的属性:第45行... / public_html / i_sendEmail.php中的obj_em_OrPS :: $ getToAdd

$objASstr = file_get_contents($usFile);
$objEM = unserialize($objASstr);
$mResult = 'Uh-Oh... test test.';
if (mail($objEM->getToAdd(),$objEM->getSubject(),$objEM->getBody(),$objEM->getHeader())){
    $mResult = 'eMail has been sent.';
    $mResul2 = MakeCommuni($mOrderID, date("Y-m-d H:m:s"), 'email',$objEM->getToAdd,$objEM->getSubject);
}
else {
    $mResult = 'Uh-Oh... NO! NO! eMail has NOT been sent.';
}

(顺便说一句,MakeCommuni()是一个自定义函数,在其他地方不会出现错误)

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您在函数调用中缺少括号,因此PHP假定正在调用对象属性:

$mResul2 = MakeCommuni($mOrderID, date("Y-m-d H:m:s"), 'email',$objEM->getToAdd,$objEM->getSubject);

应该是:

$mResul2 = MakeCommuni($mOrderID, date("Y-m-d H:m:s"), 'email',$objEM->getToAdd(), $objEM->getSubject());