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

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


PHP 7 स्केलर टाइप डिक्लेरेशन और रिटर्न टाइप डिक्लेरेशन में दो तरह के हिंटिंग का उपयोग करता है -

  • कमजोर प्रकार के संकेत
  • सख्त प्रकार के संकेत

कमजोर प्रकार के संकेत

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

सख्त_टाइप्सडेक्लेयर () का उपयोग करके, हम कमजोर प्रकार की जाँच को नियंत्रित कर सकते हैं।

declare(strict_types=0);
//weak type-checking; we should set the strict value = 0

कमजोर प्रकार का संकेत उदाहरण 1

<?php
   $x=10; // integer variable x =10 value
   $y=20.20; // using floating point number y=20.20 value
   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 बेमेल को फेंक देगा।

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

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

सख्त प्रकार के संकेत उदाहरण 1

<?php
   declare (strict_types=1);
   function returnadd(float $x , float $y){
      return $x+$y;
   }
   var_dump(returnadd(3.1,2.1)); //output float(5.2)
   var_dump(returnadd(3, "2 days")); //fatal error
?>

आउटपुट

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

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); // strict mode checking
   $x='1'; // string
   $y=20; //integer number
   function add(int $x, int $y){
      return $x + $y;
   }
   var_dump(add($x, $y));
?>

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

उपरोक्त सख्त प्रकार के घोषणा उदाहरण में, यदि हम सख्त_टाइप मान 1 घोषित करते हैं, तो कोड आउटपुट देगा "घातक त्रुटि:अनकॉटेड टाइप एरर:जोड़ने के लिए पारित तर्क () int प्रकार का होना चाहिए , एक स्ट्रिंग दी गई है"।


  1. पीएचपी टैग

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

  1. पीएचपी टाइप ऑपरेटर्स

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

  1. पीएचपी पीआई () समारोह

    परिभाषा और उपयोग पाई () फ़ंक्शन गणितीय स्थिरांक का मान लौटाता है। यह एक फ्लोट मान 3.14159265359 देता है जो PHP में परिभाषित पूर्वनिर्धारित स्थिरांक के बराबर है - M_PI सिंटैक्स pi ( void ) : float पैरामीटर इस फ़ंक्शन के लिए किसी पैरामीटर की आवश्यकता नहीं है रिटर्न वैल्यू PHP pi() फ़ंक्शन गणितीय