$html = <<<HTML
<p>Hello world</p>
HTML;
// equivalent:
$html = "<p>Hello world</p>";
यह PHP string Heredoc syntax का उपयोग करता है, जो एक वाक्य रचना एक किसी भी तरह अलग तरीके से एक स्ट्रिंग, एकल उद्धरण और दोहरे उद्धरण चिह्नों का उपयोग कर के लिए इसी तरह लिखना लेकिन चीजों से बचने के लिए है। आप {}
का उपयोग सीधे इसमें कुछ PHP स्ट्रिंग डालने के लिए कर सकते हैं।
<?php
ob_start();
?>
<p>Hello world</p>
<?php
$html = ob_get_clean();
यह एक पूरी तरह से अलग बात है। यह का उपयोग पर PHP कोड ब्लॉक के अंदर उन चीज़ों को कैप्चर करने के लिए करता है। दिए गए उदाहरण की तरह, <p>Hello world</p>
PHP कोड ब्लॉक के बाहर लिखा गया है, जिसे तुरंत क्लाइंट को आउटपुट माना जाता है। आउटपुट बफरिंग सक्षम होने के साथ वे PHP में एक बफर के अंदर संग्रहीत होते हैं, ताकि इसे बाद में ob_get_contents()
या ob_get_clean()
का उपयोग करके पुनर्प्राप्त किया जा सके। यदि आपको किसी भी PHP चर डालने की आवश्यकता है, तो आपको <?=$blah?>
या यहां तक कि <?php echo $blah?>
का उपयोग करने की आवश्यकता है।
कुछ सीएमएस सामग्री और मॉड्यूल प्रबंधित करने के लिए आउटपुट बफरिंग नियंत्रण कार्यों का उपयोग करते हैं। एक उदाहरण जूमला है। इस डिज़ाइन का लाभ यह है कि जब भी मॉड्यूल को अपनी आरक्षित जगह पर सामग्री रखने की आवश्यकता होती है, तो यह सामग्री उपलब्ध कराने के लिए बस echo
का उपयोग कर सकती है। यह मॉड्यूल से सामग्री प्राप्त करने के तरीके को सरल बना सकता है, किसी विशिष्ट फ़ंक्शन कॉल को लागू करने या किसी विशिष्ट चर को असाइन करने की आवश्यकता के बिना, जिससे सिस्टम को प्रबंधित करना आसान हो जाता है।
<?php
ob_start();
include dirname(__FILE__)."/content.php";
$content = ob_get_clean();
output_document(array("body"=>$content));
मैं भी ऐसी है कि मैं ऊपर एक फ़ाइल को शामिल कर सकते हैं और अंत मैं एक साधारण टेम्पलेट प्रणाली बना सकते हैं पर किसी भी पीएचपी बिना उत्पादन बफरिंग कार्यों का इस्तेमाल करते हैं, लेकिन इस तरह की है विषय से परे।
स्रोत
2012-11-19 14:23:25
मैं कहूंगा कि हेरडोक स्पष्ट रूप से बहुत साफ है। यह "बफर को लिखने के विभिन्न तरीके" भी नहीं है। हेरडोक * स्ट्रिंग * उद्धृत करने का एक तरीका है। 'ob_' एक है, मैं कहता हूं, यह आउट होने से पहले किसी भी आउटपुट को कैप्चर करने के लिए हैक करें। – deceze
धोखे से सहमत हैं, 'ob_ * 'कार्यों का अधिकतर उपयोग खराब डिजाइन को इंगित करता है। फिर फिर नियंत्रक या मॉडल में हेरडोक की चीख 'दृश्य परत'। –
@ माइकबी यह भी चिल्लाता है "हेई मुझे एक और कोडर के लिए पैसे देते हैं!" –