2010-04-09 52 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