Newdoc in PHP – It’s different than Heredoc in PHP

Newdoc in PHP: जिस तरह से Heredoc Statement Double Quoted String की तरह काम करता है, उसी तरह से Nowdoc Single Quoted String की तरह व्यवहार करता है। यानी हम Nowdoc Statement के बीच Identifiers की Values को Expand नहीं कर सकते।

Nowdoc का प्रयोग उस स्थिति में काफी उपयोगी होता है जब हम किसी Programming Language जैसे कि PHP, “C”, “C++” आदि के Statements के एक Block को किसी Variable में Store करके Process करना चाहते हैं, जिनमें कोई Special Formatting नहीं होती और String को Escape करने की जरूरत नहीं होती।

Nowdoc को भी Heredoc की तरह ही Specify किया जाता है लेकिन Nowdoc के Opening Identifier को हमेंशा Single Quotes के बीच लिखा जाता है, जबकि Closing Identifier को Exactly Heredoc की तरह ही बिना Quotes के Specify किया जाता है। यानी हम Nowdoc Statement को निम्नानुसार उपयोग में ले सकते हैं:

<?php
$nowDocValue = <<<'ThisIsNowDoc'

	<?php
		$nowDocValue = <<<'ThisIsNowDoc'
			PRINT "This is NowDoc Example";
		ThisIsNowDoc;
		
		ECHO ($nowDocValue);
	?>
?>
ThisIsNowDoc;

ECHO ($nowDocValue);
?>

//Output  
	<?php
                $nowDocValue = <<<'ThisIsNowDoc'
                        PRINT "This is NowDoc Example";
                ThisIsNowDoc;

                ECHO ($nowDocValue);
        ?>

उपरोक्त PHP Code स्वयं के Codes को ही String के रूप में $nowDocValue नाम के Variable में Store कर रहा है, जिसे हमने अन्तिम Statement में Output में Display करवा दिया है।

Heredoc की तरह ही Nowdoc Statement का प्रयोग भी किसी Class की Static या Constant Properties को Initialize करने के लिए किया जा सकता है लेकिन Variable Properties को Initialize करने के लिए नहीं किया जा सकता।

“C” व “C++” Languages की तरह ही PHP में भी String वास्तव में Characters का एक One Dimensional Array होता है। इसलिए Array के विभिन्न Elements को इन Programming Languages में जिस तरह से Access किया जाता है, उसी तरह से PHP की किसी String के एक-एक Character को उनके Index Number के माध्यम से Access व Manipulate किया जा सकता है।

किसी String में जब हम किसी Variable की Value को Display करना चाहते हैं, तब हम सामान्यत Variable Names के स्थान पर Curly Braces का प्रयोग भी कर सकते हैं। जैसेः

<?php
	$str = "Simple String.";
	
	print "\n 1st Character at Index Number 0: ${str[0]}";
	print "\n 2nd Character at Index Number 1: ${str[1]}";
	print "\n 3rd Character at Index Number 2: ${str[2]}";
	
	print "\n 4th Character at Index Number 3: {$str[3]}";
	print "\n 5th Character at Index Number 4: {$str[4]}";
	print "\n 6th Character at Index Number 5: {$str[5]}";
?>

जैसाकि उपरोक्त Code में हम देख सकते हैं कि जब हम किसी Variable के मान को Curly Braces का प्रयोग करते हुए Display करना चाहते हैं, तब हम दो तरीकों से Variable को Curly Braces के साथ Use कर सकते हैं। पहले तरीके में हम Curly Braces से पहले $ Sign का प्रयोग करते हैं, जबकि दूसरे तरीके में हम Curly Braces से Just बाद में यानी Variable के नाम के पहले $ Sign का प्रयोग करते हैं।

//Output
1st Character at Index Number 0: S
2nd Character at Index Number 1: i
3rd Character at Index Number 2: m
4th Character at Index Number 3: p
5th Character at Index Number 4: l
6th Character at Index Number 5: e

जैसाकि हमने पहले भी कहा कि String भी एक प्रकार का One-Dimensional Array ही होता है, इसलिए String के हर Character को हम Index Number Specify करके अलग-अलग Access कर सकते हैं। चूंकि Array की Indexing हमेंशा Zero Based होती है, इसलिए String का पहला Character Index Number 0 पर होता है न कि 1 पर। इसीलिए उपरोक्त Code में हमें सबसे पहला Character Index Number 0 पर प्राप्त हो रहा है।

जब हम Curly Braces का प्रयोग करते हुए किसी Variable के मान को Display करना चाहते हैं, तब हमें इस बात का ध्यान रखना जरूरी होता है, कि Curly Braces से Just पहले या Just बाद में $ Sign का प्रयोग किया जाना जरूरी होता है, अन्यथा PHP Curly Braces को Output में Character के रूप में Display कर देता है। जैसेः

<?php
	$str = "Simple String.";
	
	print "\nValue of the String str is :  $ {str[0]}";
	print "\nValue of the String str is :  { $str[0]}";
?>

//Output
	Value of the String str is :  $ {str[0]}
	Value of the String str is :  { S}

जैसाकि उपरोक्त Code में हम देख सकते हैं कि यदि हम Curly Braces से Just पहले या Just बाद में $ Sign का प्रयोग करते हुए Variable के नाम को Specify न करें, तो PHP Variable की Value को Parse नहीं करता और हमें उपरोक्तानुसार Un-Required Output प्राप्त होता है।

कई बार हमें $ Sing को Curly Braces के बीच Display करना होता है। लेकिन चूंकि PHP $ Sign के मिलते ही उसके आगे लिखी String को Variable मान लेता है, इसलिए यदि हम Curly Braces के साथ $ Sign को String के बीच Display करना चाहें, तो हमें $ Sign को Escape करना जरूरी होता है। जैसेः

<?php
	print "Rent of the room is {\$Hundred} for a night";
?>

//Output
Rent for the room is {$Hundred} for a night.

इस प्रकार से newdoc Statement, PHP का String से सम्‍बंधित अन्तिम Primitive Data Type या Scalar Data Type Statement है, जिसके बारे में हमने  काफी विस्‍तार से जाना। अगले Post में हम PHP के Compound Data Types के बारे में चर्चा करेंगेा

PHP in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook PHP in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

PHP in Hindi | Page: 647 | Format: PDF

BUY NOW GET DEMO REVIEWS