ट्रैक
/
PHP
PHP
/
अभ्यास
/
शहर का दफ्तर
शहर का दफ्तर

शहर का दफ्तर

सीखने का अभ्यास

परिचय

टाइप घोषणा

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 टाइप घोषणाएँ जोड़ने का फैसला किया, ताकि आपके नए सहकर्मी सीधे शुरू करके आपके टूल इस्तेमाल कर सकें।

1. Address क्लास के टाइप घोषित कीजिए

Address क्लास की जो प्रॉपर्टी घोषित की गई हैं, उनमें से हर एक में प्रॉपर्टी टाइप घोषणा जोड़िए। हर क्लास प्रॉपर्टी को स्ट्रिंग के रूप में घोषित करना है।

2. खाली वैल्यू से फॉर्म भरने के लिए टाइप घोषित कीजिए

Form क्लास के blanks मेथड में एक पैरामीटर टाइप घोषणा और एक रिटर्न टाइप घोषणा जोड़िए। यह मेथड एक पूर्णांक लंबाई लेता है और खाली लाइन का स्ट्रिंग रूप लौटाता है।

3. वैल्यू को अलग-अलग अक्षरों में बाँटते समय टाइप घोषित कीजिए

Form क्लास के letters मेथड में एक पैरामीटर टाइप घोषणा और एक रिटर्न टाइप घोषणा जोड़िए। यह मेथड एक स्ट्रिंग लेता है, जो शब्दों को दर्शाती है, और अक्षरों का एक ऐरे लौटाता है।

4. वैल्यू फॉर्म में फिट होगी या नहीं, यह जाँचते समय टाइप घोषित कीजिए

Form क्लास के checkLength मेथड में पैरामीटर टाइप घोषणाएँ और एक रिटर्न टाइप घोषणा जोड़िए। यह मेथड शब्द के रूप में एक स्ट्रिंग और अधिकतम लंबाई के रूप में एक पूर्णांक लेता है, और सही या गलत वैल्यू लौटाता है।

5. फॉर्म में पता फॉर्मेट करते समय टाइप घोषित कीजिए

Form क्लास के formatAddress मेथड में एक पैरामीटर टाइप घोषणा और एक रिटर्न टाइप घोषणा जोड़िए। इस पैरामीटर टाइप घोषणा में पहले बदली गई Address क्लास का उपयोग कीजिए। यह मेथड एक Address लेता है और उसे फॉर्मेट करके एक स्ट्रिंग लौटाता है।

GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
PHP Exercism

शहर का दफ्तर शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और PHP को 11 कॉन्सेप्ट122 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।