我在控制器中的代码: `
public function filetransport()
{
set_time_limit(0);
$message = new Zend_Mail_Message();
$message->addTo('matthew@zend.com')
->addFrom('ralph.schindler@zend.com')
->setSubject('Greetings and Salutations!')
->setBody("Sorry, I'm going to be late today!");
// Setup File transport
$transport = new Zend_Mail_Transport_File();
$transport->setOptions(array(
'path' => 'data/mail/',
'callback' => function (Zend_Mail_Transport_File $transport) {
return 'Message_' . microtime(true) . '_' . mt_rand() . '.txt';
},
));
$transport->send($message);
}
在创建Zend_Mail_Message实例时,它会抛出错误。错误是
Catchable fatal error: Argument 1 passed to Zend_Mail_Message::__construct()
must be of the type array, none given,
called in C:\xampp\htdocs\Zend-Mailer\application\controllers\IndexController.php on line 102
and defined in C:\xampp\htdocs\Zend-Mailer\library\Zend\Mail\Message.php on line 57
如果您对此有所了解,请告诉我.....!
答案 0 :(得分:0)
根据Zend documentation Zend_Mail_Message
接受一个参数作为参数。您没有传递任何参数。这就是你得到这个错误的原因。
__ construct(array $ params)
除了Zend_Mail_Part :: __ construct()的参数之外 构造函数支持:
- 具有原始邮件内容的文件的文件名或文件句柄
- flags数组包含消息标志,忽略键,使用Zend_Mail_Storage中定义的常量 Inherited_from \ Zend_Mail_Part :: __ construct()
Zend_Mail_Part支持不同的内容来源。可能 参数是:
- 处理Zend_Mail_Storage_Abstract的一个实例,用于延迟提取
- 处理程序的消息ID号
- 原始内容,标题和正文为字符串
- 标题标题为数组(名称=>值)或字符串,如果找到内容部分,则将其用作顶线
- noToplines忽略在param'标题'
中的标题后找到的内容- 内容内容为字符串
这意味着,正如错误所说,你错过了构造函数中的params
数组。