Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

हेरेडोक / नाउडॉक सिंटैक्स में इको

मेरा मानना ​​है कि आप यही करना चाह रहे थे, यह थोड़ा अजीब लग रहा है:

$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
);

एक हेरेडोक की शुरुआत जरूरी एक लाइन पर आखिरी चीज हो, तो उसके बाद आप ड्रॉप डाउन करें और तुरंत टेक्स्ट ब्लॉक में जाएं। हेरेडोक का अंत होना चाहिए लाइन पर एकमात्र चीज हो, इसलिए इसे संयोजित करने के लिए आपको ऑपरेटर (. का उपयोग करने से पहले एक लाइन को नीचे गिराना होगा। ) जब आप किसी हेरेडोक के अंदर हों तो आपको किसी उद्धरण चिह्न का उपयोग करने या ऑपरेटरों को जोड़ने की आवश्यकता नहीं है।

यह वास्तव में इतना सहज नहीं है, कि स्टैक ओवरफ्लो सिंटेक्स हाइलाइटर भी गलत हो जाता है, पहला <<<TEXT जब मैंने इसे चलाया तो ठीक काम करता है:

$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
);

यह उत्पादित:

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>

हालांकि मुझे यकीन है कि यह आपके डेटा के साथ बेहतर दिखाई देगा।

संपादित करें:और Blizz के रूप में यदि आप rec_message एक चर में, आप संयोजन से पूरी तरह बच सकते हैं:

$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
);

2 संपादित करें :अतिरिक्त संदेशों के साथ, आपको ईमेल को सरल बनाने के लिए कुछ इस तरह का उपयोग करना चाहिए:

$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
);
?>

जो कुछ मूल डमी टेक्स्ट के साथ उत्पन्न करता है:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैसकल क्वेरी:मान 1 . से घटाएं

  2. दो स्तंभों को एक तालिका से दूसरी तालिका में कॉपी करें, लेकिन केवल अद्वितीय मान

  3. मिनट () उदाहरण – MySQL

  4. MYSQL कार्यक्षेत्र में सिंटैक्स त्रुटि घोषित करें

  5. लारवेल नेस्टेड रिश्ते