PHP में टाइप घोषणाएँ कोड चलने के समय फंक्शन के आर्गुमेंट, रिटर्न वैल्यू और क्लास प्रॉपर्टी के टाइप की जाँच करती हैं।
फंक्शन में void रिटर्न टाइप जोड़कर यह बताया जा सकता है कि उस फंक्शन से कोई वैल्यू नहीं लौटती।
घोषित टाइप यह जाँचने का काम भी करते हैं कि फंक्शन उचित टाइप वाली वैल्यू ही लौटा रहे हैं।
<?php
class Driver
{
private int $serial_number;
public function setSerialNumber(int $number): void
{
$this->serial_number = $number;
}
public function getSerialNumber(): int
{
return $this->serial_number;
}
}
$driver = new Driver();
$driver->setSerialNumber("Version 1b"); // This will throw a TypeError
अगर किसी फंक्शन के आर्गुमेंट, रिटर्न वैल्यू या क्लास प्रॉपर्टी का टाइप एक से अधिक हो सकता है, तो आप टाइप यूनियन घोषित कर सकते हैं।
<?php
class IdentityCard
{
private int|null $id = null;
public function assign(int|float $id): void
{
$this->id = intval($id);
}
}
$card = new IdentityCard();
$card->assign(5.0);
कोड लिखते समय कभी-कभी हम टाइप बता नहीं पाते।
PHP 8.0 से mixed नाम का एक टाइप उपलब्ध है, जो एक तरह का बचाव रास्ता है।
mixed, object|resource|array|string|float|int|bool|null टाइप यूनियन के बराबर है।
आप कुछ समय से शहर के दफ्तर में काम कर रहे हैं और आपने ऐसे कई टूल बना लिए हैं जो आपके रोज़मर्रा के काम को तेज़ कर देते हैं, जैसे फॉर्म भरना।
अब आपके साथ एक नया सहकर्मी जुड़ रहा है, और आपको एहसास हुआ कि आपके टूल शायद अपने आप समझ में नहीं आते। आपके दफ्तर में बहुत सी अजीब परंपराएँ हैं, जैसे फॉर्म हमेशा बड़े अक्षरों में भरना और किसी भी फील्ड को खाली न छोड़ना।
पहले कदम के तौर पर आपने PHP टाइप घोषणाएँ जोड़ने का फैसला किया, ताकि आपके नए सहकर्मी सीधे शुरू करके आपके टूल इस्तेमाल कर सकें।
Address क्लास के टाइप घोषित कीजिएAddress क्लास की जो प्रॉपर्टी घोषित की गई हैं, उनमें से हर एक में प्रॉपर्टी टाइप घोषणा जोड़िए। हर क्लास प्रॉपर्टी को स्ट्रिंग के रूप में घोषित करना है।
Form क्लास के blanks मेथड में एक पैरामीटर टाइप घोषणा और एक रिटर्न टाइप घोषणा जोड़िए। यह मेथड एक पूर्णांक लंबाई लेता है और खाली लाइन का स्ट्रिंग रूप लौटाता है।
Form क्लास के letters मेथड में एक पैरामीटर टाइप घोषणा और एक रिटर्न टाइप घोषणा जोड़िए। यह मेथड एक स्ट्रिंग लेता है, जो शब्दों को दर्शाती है, और अक्षरों का एक ऐरे लौटाता है।
Form क्लास के checkLength मेथड में पैरामीटर टाइप घोषणाएँ और एक रिटर्न टाइप घोषणा जोड़िए। यह मेथड शब्द के रूप में एक स्ट्रिंग और अधिकतम लंबाई के रूप में एक पूर्णांक लेता है, और सही या गलत वैल्यू लौटाता है।
Form क्लास के formatAddress मेथड में एक पैरामीटर टाइप घोषणा और एक रिटर्न टाइप घोषणा जोड़िए। इस पैरामीटर टाइप घोषणा में पहले बदली गई Address क्लास का उपयोग कीजिए। यह मेथड एक Address लेता है और उसे फॉर्मेट करके एक स्ट्रिंग लौटाता है।
Exercism पर साइन अप कीजिए और PHP को 11 कॉन्सेप्ट122 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।