PHP Academy · पाठ

इंटरफ़ेस लागू करना

interface से अनुबंध परिभाषित करें और उन्हें कई क्लास में लागू करें

पाठ 3, कुल 4 में से13 चरण

इंटरफ़ेस लागू करना, CoddyKit पर PHP Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह PHP Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। PHP Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

परिचय: PHP इंटरफ़ेस

एक इंटरफ़ेस अनुबंध निर्धारित करता है: यह उन विधि-हस्ताक्षरों की सूची होती है जिन्हें कार्यान्वयन करने वाले वर्गों को उपलब्ध कराना पड़ता है। अमूर्त वर्गों के विपरीत, कोई वर्ग एक से अधिक इंटरफ़ेस लागू कर सकता है।

मुख्य अवधारणाएँ

मुख्य अवधारणाएँ:

  • interface Name {} से घोषित करें
  • विधियों में कोई बॉडी नहीं होती — केवल हस्ताक्षर होते हैं
  • implements InterfaceName से लागू करें
  • एक वर्ग कई इंटरफ़ेस लागू कर सकता है

इंटरफ़ेस की परिभाषा

उदाहरण:

<?php
interface Serializable {
    public function serialize(): string;
    public function unserialize(string $data): void;
}

interface Loggable {
    public function toLog(): string;
}

// Implementing both interfaces:
class Event implements Serializable, Loggable {
    public function __construct(private string $type, private string $data) {}
    public function serialize(): string { return json_encode(['type'=>$this->type,'data'=>$this->data]); }
    public function unserialize(string $d): void { $a = json_decode($d,true); $this->type=$a['type']; $this->data=$a['data']; }
    public function toLog(): string { return "[{$this->type}] {$this->data}"; }
}

प्रकार के रूप में इंटरफ़ेस

आगे:

<?php
interface Cache {
    public function get(string $key): mixed;
    public function set(string $key, mixed $val, int $ttl = 0): void;
    public function delete(string $key): void;
}

// Function accepts any Cache implementation:
function loadUser(int $id, Cache $cache): array {
    $key = "user:$id";
    $user = $cache->get($key);
    if (!$user) {
        $user = fetchFromDb($id);
        $cache->set($key, $user, 3600);
    }
    return $user;
}

इंटरफ़ेस स्थिरांक

अधिक गहराई से:

<?php
interface HttpMethods {
    const GET    = 'GET';
    const POST   = 'POST';
    const PUT    = 'PUT';
    const DELETE = 'DELETE';
}

class Router implements HttpMethods {
    public function addRoute(string $method, string $path, callable $handler): void {
        // ...
    }
}

$router = new Router();
$router->addRoute(HttpMethods::GET, '/users', fn() => []);

इंटरफ़ेस का विस्तार करने वाला इंटरफ़ेस

व्यावहारिक उपयोग:

<?php
interface Readable {
    public function read(): string;
}

interface Writable {
    public function write(string $data): void;
}

// Interface can extend multiple interfaces:
interface ReadWrite extends Readable, Writable {
    public function seek(int $position): void;
}

class FileStream implements ReadWrite {
    public function read(): string    { return ''; }
    public function write(string $d): void { }
    public function seek(int $p): void { }
}

इंटरफ़ेस के साथ निर्भरता इंजेक्शन

उन्नत विषय:

<?php
interface MailerInterface {
    public function send(string $to, string $subject, string $body): bool;
}

class SmtpMailer implements MailerInterface {
    public function send(string $to, string $subject, string $body): bool {
        // real SMTP send
        return true;
    }
}

class UserService {
    public function __construct(private MailerInterface $mailer) {}

    public function register(string $email): void {
        // save user...
        $this->mailer->send($email, 'Welcome!', 'Thanks for joining.');
    }
}

प्रतिरूप

PHP इंटरफ़ेस के सामान्य प्रतिरूप बार-बार आने वाली अभिकल्पना समस्याओं को साफ़-सुथरे ढंग से हल करने के लिए उपयोग किए जाते हैं। पठनीय और आसानी से अनुरक्षित कोड के लिए इन्हें निरंतरता के साथ लागू करें।

कब उपयोग करें

PHP इंटरफ़ेस को कब लागू करना है, यह जानना उतना ही महत्वपूर्ण है जितना यह जानना कि उन्हें कैसे लागू करना है। अत्यधिक उपयोग जटिलता लाता है, जबकि कम उपयोग से कोड दोहराया जाता है।

वास्तविक दुनिया का उदाहरण

वास्तविक अनुप्रयोगों में PHP इंटरफ़ेस ढाँचों, ऑब्जेक्ट-संबंधी मानचित्रण प्रणालियों और सेवा-स्तरों में अक्सर दिखाई देते हैं। इन्हें समझने से आप पेशेवर PHP परियोजनाओं में योगदान देने के लिए तैयार होते हैं।

सामान्य समस्याएँ

PHP इंटरफ़ेस के साथ इन गलतियों से बचें:

  • वर्ग कई इंटरफ़ेस लागू कर सकते हैं, लेकिन केवल एक वर्ग का विस्तार कर सकते हैं
  • इंटरफ़ेस में गुण या विधि-बॉडी नहीं हो सकतीं (PHP 8 में डिफ़ॉल्ट कार्यान्वयन को छोड़कर)
  • हमेशा कार्यान्वयन के बजाय इंटरफ़ेस (अमूर्त प्रकार) के लिए प्रोग्राम करें
  • निर्भरता इंजेक्शन और परीक्षणों में नकली रूप बनाने के लिए इंटरफ़ेस का उपयोग करें

त्वरित जाँच

एक PHP वर्ग एक बार में कितने इंटरफ़ेस लागू कर सकता है?

पुनरावलोकन: PHP इंटरफ़ेस

सारांश:

  • वर्ग कई इंटरफ़ेस लागू कर सकते हैं, लेकिन केवल एक वर्ग का विस्तार कर सकते हैं
  • इंटरफ़ेस में गुण या विधि-बॉडी नहीं हो सकतीं (PHP 8 में डिफ़ॉल्ट कार्यान्वयन को छोड़कर)
  • हमेशा कार्यान्वयन के बजाय इंटरफ़ेस (अमूर्त प्रकार) के लिए प्रोग्राम करें
  • निर्भरता इंजेक्शन और परीक्षणों में नकली रूप बनाने के लिए इंटरफ़ेस का उपयोग करें
शुरुआत निःशुल्क

एआई शिक्षक के साथ PHP सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
49
पाठ
195

अक्सर पूछे जाने वाले प्रश्न

क्या “इंटरफ़ेस लागू करना” पाठ निःशुल्क है?

हाँ—“इंटरफ़ेस लागू करना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और PHP Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। PHP Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“इंटरफ़ेस लागू करना” में मैं क्या सीखूँगा?

interface से अनुबंध परिभाषित करें और उन्हें कई क्लास में लागू करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ PHP Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या PHP Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर PHP Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“इंटरफ़ेस लागू करना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस PHP Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर PHP Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. इनहेरिटेंस से क्लास का विस्तार
  2. एब्स्ट्रैक्ट क्लास और विधियाँ
  3. इंटरफ़ेस लागू करना
  4. कोड के पुनः उपयोग के लिए Traits
← PHP Academy पर वापस जाएँ