2009-06-26 53 views
17

मैं कुछ वर्षों के लिए PHP के साथ अब विकसित किया गया है, और हाल ही में इस कोड को भर में आया था:PHP व्यंजक <<< EOB

<?php 
    echo <<<EOB 
     <html> 
     <head> 
      <title>My title</title> 
     </head> 
     ... 
    EOB; 
?> 

मैं HTML, जो हो रहा है मुद्रित करने के लिए इस दृष्टिकोण कभी नहीं देखा है कुछ अजीब चर या डबल कोट वाक्यविन्यास त्रुटि के लिए बहुत उपयोगी और कम प्रवण।

मैंने इसके बारे में कुछ आधिकारिक जानकारी खोज ली है और केवल इसके बारे में बात करते हुए रasmस की एक पोस्ट मिली है।

इस कार्यक्षमता के बारे में विस्तृत स्पष्टीकरण क्या है और ईओबी का क्या अर्थ है? शायद ब्लॉक के अंत?

+0

क्या इस कोड को यह सिर्फ पीएचपी मोड से बाहर निकल गया हो सकता है और एक ही बात को पूरा किया है के बारे में अजीब है। – jmucchiello

उत्तर

28

इसे heredoc सिंटैक्स के रूप में जाना जाता है। दस्तावेज आपको वह सब कुछ बताएगा जो आपको जानने की जरूरत है।

अनिवार्य रूप से, तथापि: < < <:

एक तिहाई तार परिसीमित करने के लिए जिस तरह से हियरडॉक वाक्य-विन्यास है। इस ऑपरेटर के बाद, एक पहचानकर्ता प्रदान किया जाता है, फिर एक नई लाइन। स्ट्रिंग स्वयं ही उद्धरण को बंद करने के लिए फिर से वही पहचानकर्ता का अनुसरण करती है।

समापन पहचानकर्ता लाइन के पहले कॉलम में शुरू होना चाहिए। साथ ही, पहचानकर्ता को PHP में किसी भी अन्य लेबल के समान नामकरण नियमों का पालन करना होगा: इसमें केवल अल्फान्यूमेरिक वर्ण और अंडरस्कोर होना चाहिए, और एक गैर-अंक वर्ण या अंडरस्कोर से प्रारंभ होना चाहिए।

तो EOB लेखक ने अपने डिलीमीटर के रूप में चुना है, वास्तव में यह सुनिश्चित नहीं है कि उसके मामले में क्या खड़ा है लेकिन पहचानकर्ता जो कुछ भी आप चाहते हैं वह हो सकता है।

+5

मैं अनुमान लगा रहा हूं "ब्लॉक का अंत" :)। – ryanulit

+0

समझ में आता है। :) –

+0

मैंने हमेशा सोचा है, क्या इसे "यहां - डॉक" कहा जाता है? – Sampson

3

इसे हेरेडोक कहा जाता है और manual में वर्णित है।

6

बस पूर्णता के लिए, PHP में हेरेडोक Perl से विरासत में मिला है, जिसने इसे Bourne shell से विरासत में मिला है।

2

आधिकारिक शब्द 'यहां दस्तावेज़' है, मेरा मानना ​​है कि आमतौर पर 'हेरेडोक' को छोटा कर दिया जाता है।

+0

उच्चारण etymology के लिए धन्यवाद :) – Philip

0

इसे heredoc वाक्यविन्यास कहा जाता है। यह आपको स्ट्रिंग जैसे टेक्स्ट के बड़े ब्लॉक का इलाज करने देता है। यह न्यूलाइन के लिए भी अनुमति देता है। स्ट्रिंग के लिए डबल उद्धरण चिह्नों का उपयोग करने की तरह, पाठ के ब्लॉक में वेरिएबल्स डाले जा सकते हैं।

एक अधिक उपयोगी स्पष्टीकरण पीएचपी की अपनी वेबसाइट पर पाया जा सकता: http://php.net/manual/en/language.types.string.php

संबंधित मुद्दे