Saya yakin ini yang ingin Anda lakukan, kelihatannya agak aneh:
$fn = escape($mt->from_name);
$time = escape(date("F d, Y - h:i a", strtotime($mt->st_time)));
$stc = nl2br(escape($mt->st_content));
//START EMAIL
User::sendNewticket($send_to, 'Maintenance Ticket ' . Input::get('st_id'), <<<TEXT
Hello -<br><br>
TEXT
. Input::get('rec_message') . <<<TEXT2
<br><br>
<strong>Conversation:</strong><br><br>
$fn<br>
$time<br>
$stc<br>
TEXT2
);
Awal dari heredoc harus jadilah yang terakhir dalam satu baris, jadi setelah itu Anda drop down dan langsung masuk ke blok teks. Akhir dari heredoc harus menjadi satu-satunya yang ada di telepon, jadi untuk menggabungkannya, Anda harus menurunkan satu baris sebelum dapat menggunakan operator (.
). Anda juga tidak perlu menggunakan tanda kutip atau menambahkan operator saat berada di dalam heredoc.
Kenyataannya sangat tidak intuitif, bahkan penyorot Sintaks StackOverflow pun salah, <<<TEXT
pertama berfungsi dengan baik ketika saya menjalankan ini:
$mt = new stdClass();
function escape($v){return $v;}
class User{static function sendNewTicket($a, $b, $c){echo $c;}}
class Input{static function get($a){return 'Got something';}}
$send_to = '';
$mt->from_name = 'Kitty';
$mt->st_time = '5th November';
$mt->st_content = <<<CONTENT
Dear Judy,
Lorem Dipsum and all that jazz.
Toodles,
Kitty.
CONTENT;
$fn = escape($mt->from_name);
$time = escape(date("F d, Y - h:i a", strtotime($mt->st_time)));
$stc = nl2br(escape($mt->st_content));
//START EMAIL
User::sendNewticket($send_to, 'Maintenance Ticket ' . Input::get('st_id'), <<<TEXT
Hello -<br><br>
TEXT
. Input::get('rec_message') . <<<TEXT2
<br><br>
<strong>Conversation:</strong><br><br>
$fn<br>
$time<br>
$stc<br>
TEXT2
);
Ini menghasilkan:
Hello -<br><br>Got something<br><br>
<strong>Conversation:</strong><br><br>
Kitty<br>
November 05, 2014 - 12:00 am<br>
Dear Judy,<br />
<br />
Lorem Dipsum and all that jazz.<br />
<br />
Toodles,<br />
Kitty.<br>
Meskipun saya yakin itu akan terlihat lebih baik dengan data Anda.
Sunting:Dan sebagai Blizz
sangat benar menunjukkan di bawah ini, jika Anda menyimpan rec_message
menjadi variabel, Anda dapat menghindari penggabungan sama sekali:
$recMessage = Input::get('rec_message');
User::sendNewticket($send_to, 'Maintenance Ticket ' . Input::get('st_id'), <<<TEXT
Hello -<br><br>
$recMessage
<br><br>
<strong>Conversation:</strong><br><br>
$fn<br>
$time<br>
$stc<br>
TEXT
);
Edit 2 :Dengan pesan tambahan, Anda harus menggunakan sesuatu seperti ini untuk menyederhanakan email:
$messages = '';
foreach($st_messages->results() as $mt)
{
$fn = escape($mt->from_name);
$time = escape(date("F d, Y - h:i a", strtotime($mt->st_time)));
$stc = nl2br(escape($mt->st_content));
$messages .= <<<MESSAGE
$fn<br>
$time<br>
$stc<br><br>
MESSAGE;
}
$recMessage = Input::get('rec_message');
User::sendNewticket($send_to, 'Maintenance Ticket ' . Input::get('st_id'), <<<TEXT
Hello -<br><br>
$recMessage
<strong>Conversation:</strong><br><br>
$messages
Thanks,<br>
Support Team
TEXT
);
?>
Yang dengan beberapa teks dummy dasar menghasilkan:
Hello -<br><br>
Got something
<strong>Conversation:</strong><br><br>
Person<br>
November 11, 2014 - 12:00 am<br>
My message blah blah<br><br>
sdfasdf<br>
April 11, 2014 - 12:00 am<br>
My message asdfasdf blah blah<br><br>
Thanks,<br>
Support Team