PHP Testing Functions

PHP Testing Functions: PHP हमे कुछ ऐसे Functions भी Provide करता है, जिनका प्रयोग करके हम किसी Variable में Stored Value को Test कर सकते हैं। ये Functions Professional Development के लिहाज से काफी महत्वपूर्ण Functions हैं।

क्योंकि किसी भी Practical Project में किसी Value को Test करना एक Compulsory काम होता है। यदि हम Value को Check किए बिना Program में आगे बढते हैं, तो कहीं न कहीं जाकर Program जरूरत Crash होता है और Project Fail हो जाता है। ऐसी Situation पैदा होने पर किसी Bug को Find करना लगभग नामुमकिन हो जाता है।

Professional Programming में किसी Problem को Solve करने के लिए लिखे गए Codes उतने महत्वपूर्ण नहीं होते जितने Bug Proof तरीके से लिखे गए Codes महत्वपूर्ण होते हैं और Bug Proof Codes तभी लिखे जा सकते हैं, जब हम हमारे Program में हर Processing से पहले या हर Operation से पहले अपनी Value को Test करें।

इसलिए PHP द्वारा किसी भी समय पर किसी भी तरह के Data Type Identifier यानी Variable की Value Test करने के लिए जो Functions Provide किए गए हैं, वे बहुत ही महत्वपूर्ण Functions हैं और हमें उन सभी Functions को अपने Program में जब भी जिसकी भी उपयोगिता महसूस हो, जरूर Use करना चाहिए।

Testing Functions के बारे में मूल रूप से एक ध्यान रखने वाली बात ये होती है कि सभी Testing Functions हमेंशा एक Boolean Value Return करते हैं।

isset() Language Construct

ये Function Variable Number of Arguments Accept करता है और हर Argument एक Mixed Type का Variable हो सकता है। ये Function इस बात को Check करता है कि Argument के रूप में Specified Variables किसी Value से Set हैं और NULL नहीं हैं।

यदि Argument के रूप में Specified Variable NULL के अलावा किसी Value से Set हो, तो ये Function True Return करता है अन्यथा False Return करता है।

किसी Variable को Unset करने के लिए हम unset() Function का प्रयोग कर सकते हैं। जब हम किसी Variable को unset() Function का प्रयोग करके Unset कर देते हैं, तो वह Variable Set नहीं रह जाता। परिणामस्वरूप उस Variable को isset() Function में Parameter के रूप में Use करने पर isset() Function false Return करता है।

जब हम किसी Variable को NULL से Set कर देते हैं या जिस Variable में NULL होता है, उस Variable को इस Function में Argument के रूप में Pass करने पर ये Function false Return करता है।

ध्यान रखने वाली बात ये है कि PHP में “\0” NULL Byte व NULL Constant दोनों एक समान नहीं होते हैं।

यदि हम isset() Function में कई Parameters Specify करें, तो केवल उसी स्थिति में ये Function True Return करेगा, जबकि Parameter के रूप में Specified सभी Variables उपयुक्त मान से Set हों। इस स्थिति में इस Function के सभी Parameters Left to Right Execute होता है।

ये Function उसी स्थिति में True Return करता है, जबकि Argument के रूप में Specified Variable Exist हो और उसमें NULL के अलावा कोई भी उपयुक्त मान Assigned या Initialized Set हो भले वह मान Empty String ही क्यों न हो।

चूंकि ये एक Language Construct है न कि Function, इसलिए इसे हम Variable Function का प्रयोग करते हुए Call नहीं कर सकते।

empty() Language Construct

ये Function इस बात को Test करता है कि Argument के रूप में Specified Variable Empty है या नहीं।

इस Function में हम सिर्फ किसी Variable को ही Specify कर सकते हैं। यदि हम इस Function में किसी Processing के बाद Generate होने वाले Result को Specify करें, तो PHP Parse Error Trigger करता है। यानी हम इस Function को empty(trim($name)) की तरह से Use नहीं कर सकते।

empty() Function (boolean)$var Expression के Exact Opposite तरीके से काम करता है।

यदि इस Function में Specified Argument Variable Set न किया गया हो, तो भी ये Function किसी तरह की Warning Generate नहीं करता।

ये Function विभिन्न प्रकार के Data Type के Arguments के लिए विभिन्न प्रकार की Return Values Return करता है। यदि इस Function में Specified Argument Variable में Non-Zero व Non-Empty Value हो, तो ये Function False Return करता है। निम्न परिस्थितियों को PHP में Empty माना जाता हैः

  • “” (Empty String को)
  • 0 (Integer 0 को)
  • 0 (Float 0.0 को)
  • “0” (जब 0 को String की तरह Specify किया गया हो तो उस String 0 को)
  • NULL को
  • False को
  • array() (Empty Array को)

किसी Class में Declared लेकिन Uninitialized/Unassigned Data Member को।

चूंकि ये एक Language Construct है न कि Function, इसलिए इसे हम Variable Function का प्रयोग करते हुए Call नहीं कर सकते।

empty()isset() दोनों में मूल अन्तर ये है कि empty() Variable की इस बात को Check करता है कि जिन Values को PHP में Empty माना जाता है, Variable में उन Empty Values के अलावा कोई अन्य Value Stored है या नहीं।

यदि कोई अन्य Value Stored हो तो empty() Statement False Return करता है, जो कि इस बात का Indication होता है कि Variable किसी न किसी Value से Set है।

जबकि यदि Variable में ऊपर Specify की गई विभिन्न Empty Values में से कोई Value हो, तो Variable को Empty माना जाता है और उस Variable के लिए empty() Statement True Return करता है।

जबकि isset() Statement केवल उसी स्थिति में false Return करता है, जबकि Variable को Create करते समय उसे Initialize न किया गया हो साथ ही बाद में भी किसी भी अन्य Statement द्वारा Variable को कोई मान यहां तक कि NULL को छोडकर कोई Empty मान भी Assign न किया गया हो।

यदि किसी Variable को Null के अलावा कोई Empty Value भी Initialize या Assign कर दी जाए, तो Variable Set हो जाता है। परिणामस्वरूप isset() Statement True Return करता है।

unset() Function

ये Function Argument के रूप में Variable Number of Arguments Accept करता है। इस Function का मुख्‍य काम Argument के रूप में Specified Variable को Destroy करना होता है।

जब हम किसी Global Variable को किसी Function के अन्दर unset() करते हैं, तो वह Variable केवल उस Function के अन्दर ही Unset होता है, Function के बाहर Available रहता है।

यानी Local Variable को Destroy करने से Global Variable Destroy नहीं होता। Global Variable को Destroy करने के लिए हमें $GLOBAL Array से उस Variable को Unset करना होता है, जिसे हम हमारी Script से Permanently Destroy करना चाहते हैं।

यदि हम किसी Function में किसी Variable के Reference को Pass करें और उस Function में उस Variable को Unset कर दें, तब भी वह Variable केवल Function के लिए Destroy होता है। Function से बाहर वह Function अभी भी Available रहता है, भले ही Function के अन्दर हम Variable के Reference को Unset कर रहे होते हैं।

जब हम किसी Static Variable को Function के अन्दर Unset करते हैं, तो वह Static Variable भी केवल उस Function के लिए Destroy होता है।

हम किसी Object की Property को Current Context में Unset कर सकते हैं। लेकिन किसी भी Object के Method में हम $this को Unset नहीं कर सकते।

यदि __unset() Magic Method Define किया गया हो और हम किसी Inaccessible Object Property के लिए unset() Function को Call करें, तो ये Magic Method Automatically Call हो जाता है।

unset() भी एक Statement है न कि Function, इसलिए इसे भी हम Variable Function का प्रयोग करते हुए Call नहीं कर सकते।

is_ Functions

PHP हमें कुछ is_ Functions Provide करता है, जिनका प्रयोग विभिन्न Data Types के Variables को Test करने के लिए किया जाता है कि वे उस Data Type के हैं या नहीं। विभिन्न is_ Functions केवल एक Parameter Accept करते हैं और Return Value के रूप में true या false Boolean Value Return करते हैं। विभिन्न is_ Functions निम्नानुसार हैं:

is_array() Function

यदि Argument के रूप में Specified Mixed Type के Variable को Accept करता है और यदि Specified Argument एक Valid Array Type हो, तो ये Function True Return करता है अन्यथा False Return करता है।

is_bool() Function

यदि Argument के रूप में Specified Mixed Type के Variable को Accept करता है और यदि Specified Argument एक Valid Boolean Type हो, तो ये Function True Return करता है अन्यथा False Return करता है।

is_double() Function

यदि Argument के रूप में Specified Mixed Type के Variable को Accept करता है और यदि Specified Argument एक Valid Double Type हो, तो ये Function True Return करता है अन्यथा False Return करता है।

is_float() Function

यदि Argument के रूप में Specified Mixed Type के Variable को Accept करता है और यदि Specified Argument एक Valid Float Type हो, तो ये Function True Return करता है अन्यथा False Return करता है।

is_int() Function

यदि Argument के रूप में Specified Mixed Type के Variable को Accept करता है और यदि Specified Argument एक Valid Integer Type हो, तो ये Function True Return करता है अन्यथा False Return करता है।

is_integer() Function

यदि Argument के रूप में Specified Mixed Type के Variable को Accept करता है और यदि Specified Argument एक Valid Integer Type हो, तो ये Function True Return करता है अन्यथा False Return करता है।

is_long() Function

यदि Argument के रूप में Specified Mixed Type के Variable को Accept करता है और यदि Specified Argument एक Valid Long Type हो, तो ये Function True Return करता है अन्यथा False Return करता है।

is_null() Function

यदि Argument के रूप में Specified Mixed Type के Variable को Accept करता है और यदि Specified Argument एक Valid NULL Type हो, तो ये Function True Return करता है अन्यथा False Return करता है।

is_object() Function

यदि Argument के रूप में Specified Mixed Type के Variable को Accept करता है और यदि Specified Argument एक Valid Object Type हो, तो ये Function True Return करता है अन्यथा False Return करता है।

is_real() Function

यदि Argument के रूप में Specified Mixed Type के Variable को Accept करता है और यदि Specified Argument एक Valid Real Type हो, तो ये Function True Return करता है अन्यथा False Return करता है।

is_resource() Function

यदि Argument के रूप में Specified Mixed Type के Variable को Accept करता है और यदि Specified Argument एक Valid Resource Type हो, तो ये Function True Return करता है अन्यथा False Return करता है।

is_string() Function

यदि Argument के रूप में Specified Mixed Type के Variable को Accept करता है और यदि Specified Argument एक Valid String Type हो, तो ये Function True Return करता है अन्यथा False Return करता है।

is_scalar() Function

यदि Argument के रूप में Specified Mixed Type के Variable को Accept करता है और यदि Specified Argument एक Valid Scalar Type हो, तो ये Function True Return करता है अन्यथा False Return करता है।

Scalar Type Variables वे Variables होते हैं जो कि Integer, Float, String या Boolean Type के हों। Array, ObjectResource Type के Variables Scalar Type के नहीं बल्कि Complex या Compound Type के होते हैं।

is_numeric() Function

यदि Argument के रूप में Specified Mixed Type के Variable को Accept करता है और यदि Specified Argument एक Valid Numeric Type हो, तो ये Function True Return करता है अन्यथा False Return करता है।

Numeric Variable वे होते हैं, जो Value के रूप में किसी Numeric Value या Valid Numeric String को Hold करते हैं। Valid Numeric String में केवल वे ही Characters हो सकते हैं, जो किसी Numerical Value को Represent करने के लिए जरूरी होते हैं।

उदाहरण के लिए Hexadecimal Value में Capital व Small Letters के “A”, “B”, “C”, “D”, “E”, “F”, व “X” ऐसे Character होते हैं, जो Valid होते हैं। इसी तरह से घातांक रूप में Specify की जाने वाली String में “.” व “e” या “E” Valid Character होते हैं। जबकि Sign चिन्ह ” – “   व ” + ” सभी प्रकार के Numerical मानों की String में Valid Character होते हैं।

is_callable() Function

यदि Argument के रूप में तीन Arguments Accept करता है। पहला Argument किसी Callback Function का नाम होता है जबकि दूसरा Argument एक Boolean मान होता है, जिसका Default मान false Set रहता है।

इस Function का प्रयोग करके हम ये पता लगाते हैं कि पहले Argument के रूप में Specified नाम किसी Callable Function का नाम है या नहीं। यदि ये किसी Callable Function का नाम हो, तो ये Function true Return करता है अन्यथा false Return करता है।

चूंकि PHP में हम किसी Function का नाम किसी Variable में Store कर सकते हैं, इसलिए इस Function के पहले Argument के रूप में हम उस Variable का नाम भी Specify कर सकते हैं, जिसे हम Callable Function की तरह ये जानने के लिए Check करना चाहते हैं कि हम उस Variable में Stored नाम के Function को Call कर सकते हैं या नहीं।

Function केवल उसी स्थिति में Call हो सकता है, जबकि Variable में किसी Valid Callable Function का नाम हो। अन्य स्थितियों में पहले Argument के रूप में Specified Argument Function की तरह Call नहीं हो सकते। परिणामस्वरूप ये Function केवल Callable Functions के लिए ही true Retune करता है।

दूसरे Argument के रूप में True Set करने पर ये Function ये Verify करता है कि पहले Argument के रूप में Specified नाम केवल किसी Function या Method का ही हो, किसी सामान्य Variable का नहीं।

दूसरे Argument के रूप में True Set होने पर ये Function केवल उन्हीं नामों को Reject करता है, जो कि Simple Variables होते हैं। Strings या Array को ये Function Reject नहीं करता।

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

PHP in Hindi | Page: 647 | Format: PDF

BUY NOW GET DEMO REVIEWS