2010-04-09 55 views
3

我正在编写控制器方法的代码,我需要用它来发送电子邮件。我正在尝试使用heredoc语法来填写电子邮件正文,但结束标记似乎无法识别。仿佛是在引号从开<<< EOF下降(直到文件的结尾)PHP - 在类方法中不能使用Heredoc?

$this->email = new Email(); 
$this->email->from = 'Automated Email'; 
$this->email->to = '[email protected]'; 
$this->email->subject = 'A new user has registered'; 
$this->email->body = <<<EOF 

Hello, a new user has registered. 

EOF; 

$this->email->send(); 

一切都显示出来。

任何人都可以看到为什么这不工作?

任何意见赞赏。

谢谢。

+0

您使用的是哪个版本的PHP? – 2010-04-09 13:37:16

+1

'EOF;'后有空格 - heredoc字符串的结束标识符必须完全隔离在它自己的行上,没有前导或尾随空格;看到这里的大红色警告:http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc – meagar 2010-04-09 13:42:07

回答

7

检查“EOF”后面的分号后没有任何空格。

+0

+1好抓。突出显示代码会显示伪造的空白。 – soulmerge 2010-04-09 13:40:15