Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP 7 में टाइप हिंटिंग

PHP 7 स्केलर टाइप घोषणा और रिटर्न टाइप घोषणा में दो प्रकार के हिंटिंग का उपयोग करता है:

  • कमजोर टाइप हिंटिंग
  • सख्त टाइप हिंटिंग

कमजोर टाइप हिंटिंग

डिफ़ॉल्ट रूप से, PHP 7 कमजोर टाइप चेकिंग मोड में काम करता है। कमजोर टाइप चेकिंग कोई त्रुटि या घातक त्रुटि नहीं देगा। जब टाइप घोषणा बेमेल होती है तो यह बिना किसी त्रुटि फेंके कोड को केवल निष्पादित करेगा।

strict_types declare() का उपयोग करके, हम कमजोर टाइप चेकिंग को नियंत्रित कर सकते हैं।

declare(strict_types=0); // कमजोर टाइप-चेकिंग; हमें सख्त मान = 0 सेट करना चाहिए

कमजोर टाइप हिंटिंग उदाहरण 1

<?php 
    $x=10; // पूर्णांक वेरिएबल x = 10 मान 
    $y=20.20; // फ्लोटिंग पॉइंट नंबर y=20.20 मान का उपयोग 
    function add(int $x, int $y){ 
        return $x + $y; 
    } 
    echo add($x, $y); 
?>

आउटपुट

30

व्याख्या

उपरोक्त उदाहरण में, हम पैरामीटर के लिए सख्त मान का उपयोग नहीं कर रहे हैं। हमने दो पूर्णांक वेरिएबल्स, x और y का उपयोग किया। x=10 के लिए और y फ्लोटिंग नंबर 20.20 का उपयोग कर रहा है, लेकिन y कोई त्रुटि उत्पन्न नहीं करेगा; यह केवल आउटपुट पूर्णांक मान 30 देगा।

उदाहरण 2

<?php 
    function returnadd(int ...$integers){ 
        return array_sum($integers); 
    } 
    var_dump(returnadd(2, '3', 4.1)); 
?>

आउटपुट

int(9)

सख्त टाइप हिंटिंग

सख्त टाइप हिंटिंग तब घातक त्रुटि देगा जब टाइप घोषणा बेमेल होती है। हम कह सकते हैं कि सख्त टाइप हिंटिंग टाइप घोषणा के सटीक प्रकार के वेरिएबल को स्वीकार करता है, अन्यथा यह TypeError बेमेल फेंक देगा।

सख्त टाइप हिंटिंग में, फ़ाइल में पहला स्टेटमेंट declare (strict_types=1) घोषित किया जाना चाहिए, अन्यथा यह कंपाइलर त्रुटि उत्पन्न करेगा। यह उन अन्य शामिल फ़ाइलों को प्रभावित नहीं करता जो फ़ाइलों में निर्दिष्ट नहीं हैं, जिसका अर्थ है कि यह केवल उस विशिष्ट फ़ाइल को प्रभावित करता है जिसमें इसका उपयोग किया जाता है।

सख्त टाइप हिंटिंग निर्देश पूरी तरह से कंपाइल-टाइम है और रनटाइम पर नियंत्रित नहीं किया जा सकता।

सख्त टाइप हिंटिंग उदाहरण 1

<?php 
    declare (strict_types=1); 
    function returnadd(float $x , float $y){ 
        return $x+$y; 
    } 
    var_dump(returnadd(3.1,2.1)); // आउटपुट float(5.2) 
    var_dump(returnadd(3, "2 days")); // घातक त्रुटि 
?>

आउटपुट

float(5.2) 
Fatal error: Uncaught TypeError: Argument 2 passed to returnadd() must be of the type float, string given, called in C:\xampp\htdocs\gud.php on line 7 and defined in C:\xampp\htdocs\gud.php:3 Stack trace: #0 C:\xampp\htdocs\gud.php(7): returnadd(3, '2 days') #1 {main} thrown in C:\xampp\htdocs\gud.php on line 3

सख्त टाइप हिंटिंग उदाहरण 2

<?php 
    declare(strict_types=1); // सख्त मोड चेकिंग 
    $x='1'; // स्ट्रिंग 
    $y=20; // पूर्णांक संख्या 
    function add(int $x, int $y){ 
        return $x + $y; 
    } 
    var_dump(add($x, $y)); 
?>

यह "घातक त्रुटि" आउटपुट उत्पन्न करेगा

उपरोक्त सख्त टाइप घोषणा उदाहरण में, यदि हम strict_type मान 1 घोषित करते हैं, तो कोड आउटपुट "Fatal error: Uncaught TypeError: Argument 1 passed to add() must be of the type int, a string is given" देगा।

  1. - PHP टैग्स (Tags) - कैननिकल, शॉर्ट और इको टैग

    परिभाषा और उपयोग एक PHP कोड स्क्रिप्ट एक टेक्स्ट फ़ाइल है जिसका एक्सटेंशन .php होता है और यह वेब सर्वर पर संग्रहीत होती है। सर्वर पर PHP पार्सर विशेष वर्ण अनुक्रम <?php और ?> की तलाश करता है। इन्हें PHP के प्रारंभिक और समापन टैग कहा जाता है। इन दोनों के भीतर के स्टेटमेंट पार्सर द्वारा व्याख्य

  1. - PHP टाइप ऑपरेटर्स (Type Operators) - instanceof ऑपरेटर

    परिचय PHP में, यह पता लगाना संभव है कि कोई दिया गया वेरिएबल किसी विशेष क्लास का ऑब्जेक्ट है या नहीं। इस उद्देश्य के लिए PHP में instanceof ऑपरेटर है। सिंटैक्स $var instanceof class यह ऑपरेटर बूलियन मान TRUE लौटाता है यदि $var क्लास का ऑब्जेक्ट है, अन्यथा यह FALSE लौटाता है। उदाहरण उदाहरण 1: उपयो

  1. - PHP pi() फ़ंक्शन - π मान प्राप्त करना

    PHP का pi() फ़ंक्शन गणितीय स्थिरांक **π (पाई)** का मान लौटाता है। यह M_PI स्थिरांक के समान मान (3.1415926535898) देता है। सिंटैक्स pi(): float पैरामीटर्स कोई पैरामीटर नहीं। लौटाया गया मान π का मान (फ्लोट)। M_PI स्थिरांक के बराबर। उदाहरण 1. वृत्त का क्षेत्रफल: πr² <?php $radius = 5; echo area