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

PHP में संघ प्रकार 8

PHP 8 में Union Type का उपयोग करके, हम एक ही प्रकार का उपयोग करने के बजाय दो या अधिक प्रकार के मानों का उपयोग कर सकते हैं। अनेक प्रकार निर्दिष्ट करने के लिए, ऊर्ध्वाधर रेखा (|) उनसे जुड़ने के लिए उपयोग किया जाता है।

संघ प्रकार पैरामीटर, वापसी प्रकार और गुणों का समर्थन करता है।

सिंटैक्स

type1|type2|……|type_n

उदाहरण 1:संघ प्रकार

<?php
   class Number
   {
      private int | float $num;
      public function getNum():
      float | int
      {
         return $this->num
      }
      public function setNum(float | int):
      void
      {
         $this->num = $num;
      }
   }
?>

उदाहरण 2:संघ प्रकार का उपयोग कर PHP 8 प्रोग्राम

<?php
   class Number{
      private int|float $number;
      public function setNumber(int|float $number): void {
         $this->number = $number;
      }
      public function getNumber(): int|float {
         return $this->number;
      } #passing floats or integer values to the number object
   }
   $number = new Number();
   $number->setNumber(5);
   print_r($number->getNumber());
   $number->setNumber(11.54);
   print_r($number->getNumber());
?>

आउटपुट

511.54

संघ प्रकार में अशक्त प्रकार

PHP 7.1 में, प्रश्नवाचक चिह्न ?type . के साथ Nullable type का प्रयोग किया जाता है . PHP 8 में, हम अशक्त प्रकारों को type|null . के रूप में घोषित कर सकते हैं . उदाहरण के लिए:float|int|null , लेकिन हम इसे ?float|int . के रूप में घोषित नहीं कर सकते ।

अशक्त प्रकार सिंटैक्स

type1|type2|null

हमें ?type1|type2 . जैसा घोषित नहीं करना चाहिए क्योंकि यह एक अस्पष्ट घोषणा होगी।

  • संकलन-समय त्रुटि जांच - PHP में, एक प्रकार की घोषणा में यूनियन प्रकार के डुप्लिकेट या निरर्थक प्रकारों की अनुमति नहीं है। यह जांच कंपाइल-टाइम के दौरान बिना ऑटोलोडिंग क्लास/इंटरफेस के होगी।

  • डुप्लिकेट प्रकारों की अनुमति नहीं है - हम PHP में int|int . जैसे डुप्लीकेट घोषित नहीं कर सकते और int|?int . भी अनुमति नहीं है। क्योंकि यह एक सिंटैक्स त्रुटि लौटाएगा। "गंभीर त्रुटि:डुप्लीकेट प्रकार... लाइन में ... बेमानी है।"

  • शून्य प्रकार की अनुमति नहीं है - PHP 8 में, संघ प्रकार शून्य किसी अन्य प्रकार के साथ संयोजन की अनुमति नहीं है।

उदाहरण

Function foo(): void|null{}

PHP 8 में गलत टाइप करें

False type PHP 8 में Union type का एक हिस्सा है। ज्यादातर हम रिटर्न वैल्यू के रूप में null का उपयोग रिटर्न वैल्यू या एरर की अनुपस्थिति को दिखाने के लिए करते हैं। उदाहरण के लिए:मान लीजिए कि हमारे पास एक वर्ग विधि है जो छात्र आईडी द्वारा छात्र को ढूंढती है। यदि छात्र आईडी मौजूद नहीं है, तो यह दिखाने के लिए शून्य हो सकता है कि छात्र आईडी मौजूद नहीं था। लेकिन PHP गलत का उपयोग करती है अगर विद्यार्थी आईडी नहीं मिला।

  • किसी भी विफलता के लिए नल प्रकार के बजाय गलत प्रकार का उपयोग किया जाता है।

  • हम एक स्टैंडअलोन प्रकार के रूप में असत्य का उपयोग नहीं कर सकते हैं और अशक्त स्टैंडअलोन प्रकारों की भी अनुमति नहीं है। इसका मतलब है कि, हम झूठा, झूठा|शून्य, और?झूठा इस्तेमाल नहीं कर सकते।

  • पैरामीटर, प्रॉपर्टीज और रिटर्न वैल्यू जैसे किसी भी प्रकार को स्वीकार किए जाने पर हम गलत का उपयोग कर सकते हैं।

  • इसका कोई वास्तविक शाब्दिक प्रकार नहीं है, इसके बजाय हम केवल बूल प्रकारों का उपयोग कर सकते हैं।

उदाहरण

<?php
   Class Student {
      public function find(int $id): User|false
      {
         // ...
      }
   }
?>

  1. पीएचपी टैग

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

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

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

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

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