Zend\Mail 标头:在非对象上调用成员函数 setType()
Posted
技术标签:
【中文标题】Zend\\Mail 标头:在非对象上调用成员函数 setType()【英文标题】:Zend\Mail headers: Call to a member function setType() on a non-objectZend\Mail 标头:在非对象上调用成员函数 setType() 【发布时间】:2016-06-12 03:54:51 【问题描述】:尝试在 Zend\Mail 消息中设置内容类型时:
use Zend\Mail\Message;
.
.
.
// create the message
$message = new Message();
$message->getHeaders()->get('content-type')->setType('multipart/alternative');
.
.
.
我收到以下错误:
Fatal error: Call to a member function setType() on a non-object in /var/www/jt_sso/website/app/library/Mail/Manager.php on line 125
如果缺少此标头,我应该做些什么。我注意到 Zend\Mail\Headers ( getHeaders() 的结果)有一个 ::has(headerName) 方法,所以我可以检查这个方法是否存在,但是如果它丢失,我看不到设置新标题的方法。另外,我不能只设置消息(如果不存在则创建一个)?网上看例子的时候,只看到get()->setType(..)方法链。
【问题讨论】:
【参考方案1】:这是因为标题“content-type”没有定义,所以你必须定义它。
例如:
$message->getHeaders()->addHeaderLine('content-type', 'multipart/alternative');
这应该添加缺少的标题并设置 输入你想要的。
【讨论】:
以上是关于Zend\Mail 标头:在非对象上调用成员函数 setType()的主要内容,如果未能解决你的问题,请参考以下文章
在非构造的“对象”上调用非虚拟成员函数是不是定义明确? [复制]
致命错误:在非对象上调用成员函数 getLoginUrl()