payment by upi: sinhamit@icici or payment by bank account name: amit kumar sinha, account number: 2646728782 IFSC code: KKBK0005660 SWIFT: KKBKINBB

Please support if you like my work by payment through upi: sinhamit@icici or payment by bank

account name: Amit Kumar Sinha,
account number: 2646728782
IFSC code: KKBK0005660
SWIFT: KKBKINBB


Heredoc and Nowdoc   in Category: पीएचपी   by amit

🕙 Posted on 2023-05-12 at 06:34:06


हेयरडाॅक और नाउडॉक

    हेयरडाॅक (Heredoc) और नाउडॉक (Nowdoc) स्ट्रिंग डेटा-प्रकार को लिखने के दो नए तरीके हैं, जैसे उन्हें क्रमशः डबल कोट्स या सिंगल कोट्स की एक जोड़ी में रखा गया है। ` (टिक चिह्न, कीबोर्ड में 1 कुंजी के ठीक बाईं ओर) का उपयोग जोड़ी में, ECMAScript 2015 या ES6 (जावास्क्रिप्ट में) में उसी तरह किया जाता है जैसे कि हेयरडाॅक PHP में काम करता है। आप एस्केप सीक्वेंस की मदद के बिना हेयरडाॅक और नाउडॉक के अंदर किसी भी विशेष वर्ण का उपयोग कर सकते हैं। इन दो तरीकों से बैकस्लैश को भी शाब्दिक (literal) माना जाता है।

    हेयरडाॅक और नाउडॉक, दोनों स्ट्रिंग के शुरुआत में और अंत में एक अद्वितीय पहचानकर्ता (unique identifier) के साथ लिखे जाते हैं। हेरडॉक और नाउडोक दोनों में, शुरुआती पहचानकर्ता के साथ उपसर्ग (prefix), <<< (से कम के तीन प्रतीक) उनके बीच बिना किसी स्थान के और पहचानकर्ता के साथ भी बिना किसी स्थान के लिखे जाते हैं। आपको कुछ यादृच्छिक (random) UNIQUE पाठ (text) का उपयोग करना चाहिए, जिसका उपयोग स्ट्रिंग के अंदर पहचानकर्ता के रूप में नहीं किया जाएगा! यदि स्ट्रिंग के अंदर कोई भी टेक्स्ट ओपनिंग IDENTIFIER के समान पाया जाता है, तो वह टेक्स्ट स्ट्रिंग को बंद (end) कर देगा, और आपको ERROR मिलेगा। आपको ; (अर्धविराम प्रतीक) पहचानकर्ता के अंत या समापन के बाद जोड़ना होगा।

हेयरडाॅक स्ट्रिंग को डबल कोट्स की एक जोड़ी में संलग्न के रूप में मानता है

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


Parse error: Invalid body indentation level (expecting an indentation level of at least 2) in C:\xampp\htdocs\php_project\phptest.php on line 4

    spacebar कुंजी, Tab कुंजी, या Enter या Return कुंजी के साथ लाइन-ब्रेक वाले किसी भी स्थान को HEREDOC और NOWDOC दोनों में गिना (count) जाएगा। टिप्पणियों को HEREDOC या NOWDOC के अंदर न रखें, क्योंकि इन्हें STRING डेटा-प्रकार के रूप में माना जाएगा, और PHP उन्हें टिप्पणी के रूप में संसाधित नहीं करेगी। <br> HTML तत्व डालने के लिए nl2br() एक पूर्व-परिभाषित (अंतर्निहित) PHP फ़ंक्शन है, (आमतौर पर उपयोग किया जाता है), जहां या तो \n या कीबोर्ड की Enter/Return कुंजी के साथ लाइन-फ़ीड (लाइन-ब्रेक) डाली जाती है।

<?php
  $one = 'abcd';   $two = 'efgh';   $three = 'ijkl';   $four = 'mnop';
  $text = <<<IDENTIFIER
  line $one
  line $two
  line $three
  line $four
  IDENTIFIER;
  echo nl2br( $text );
?><br />

line abcd
line efgh
line ijkl
line mnop

<?php
  $one = 'abcd';   $two = 'efgh';   $three = 'ijkl';   $four = 'mnop';
  $text = <<<"TEXTIDENTIFIER"
  line$one
  line$two
  line$three
  line$four
  TEXTIDENTIFIER;
  echo nl2br( $text );
?><br />

lineabcd
lineefgh
lineijkl
linemnop

Nowdoc स्ट्रिंग को एकल उद्धरणों की एक जोड़ी में संलग्न मानता है

    सिंगल कोट्स की एक जोड़ी में संलग्न प्रारंभिक पहचानकर्ता इसे नाउडॉक बनाता है। निम्न उदाहरण में, वेरिएबल्स को उनके मानों तक विस्तृत नहीं किया गया है:

<?php
  $one = 'abcd';   $two = 'efgh';   $three = 'ijkl';   $four = 'mnop';
  $text = <<<'NEWIDENTIFIER'
  line $one
  line $two
  line $three
  line $four
  NEWIDENTIFIER;
  echo nl2br( $text );
?><br />

line $one
line $two
line $three
line $four

हेयरडाॅक और नाउडॉक का उपयोग आमतौर पर HTML संरचना को सम्मिलित करने के लिए किया जाता है

<?php
$html_structure = <<<UNIQUETEXT
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta
http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta
name="viewport" content="width=device-width, initial-scale=1" />
    <title>R.I.B.H.U. Academy</title>
    <style type="text/css">
      /* === EMBEDDED CSS STYLES === */
      .example { background-color: skyblue; font-size: 2rem; width: 50%; }
    </style>
  </head>
  <body>
    <div class="example">
      <p> WELCOME TO RIBHU ACADEMY </p>
    <div>

    <script type="text/javascript">
        // JavaScript codes ...
    </script>
  </body>
</html>

UNIQUETEXT;
?>

<?php echo $html_structure; ?>

<?php var_dump( $html_structure ); ?>

    Caution: हालांकि var_dump() फ़ंक्शन वेब-ब्राउज़र में आउटपुट प्रदर्शित कर सकता है, लेकिन जब स्ट्रिंग में कोई HTML Doctype घोषणा हो, तो आपको इसका उपयोग करने से बचना चाहिए।

string(616) "<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>R.I.B.H.U. Academy</title>
    <style type="text/css">
      /* === EMBEDDED CSS STYLES === */
      .example { background-color: skyblue; font-size: 2rem; width: 50%; }
    </style>
  </head>
  <body>
    <div class="example">
      <p> WELCOME TO RIBHU ACADEMY </p>
    <div>

    <script type="text/javascript">
      // JavaScript codes ...
    </script>
  </body>
</html>"

Leave a Comment: