PHP – Interfaces (ইন্টারফেস কি?)

PHP – Interfaces (ইন্টারফেস কি?)

Interface হলো PHP-তে এমন একটি কাঠামো (Structure) যেটা ক্লাসগুলিকে নির্দিষ্ট কিছু মেথড implement করতে বাধ্য করে। এটি কোন কাজ করে না, বরং বলে দেয় ক্লাসগুলোতে কি কি ফাংশন থাকবে।

Interface ব্যবহার করলে কোড আরও বেশি standardized এবং flexible হয়। এটি multiple inheritance এর বিকল্প হিসেবেও ব্যবহৃত হয়।

উদাহরণ ১: Simple Interface


<?php
interface Animal {
    public function makeSound();
}

class Dog implements Animal {
    public function makeSound() {
        echo "Dog says: Woof!";
    }
}

$obj = new Dog();
$obj->makeSound();
?>
    

✅ এখানে Animal একটি Interface এবং Dog ক্লাস এটি implement করে। যে মেথড Interface-এ ছিল, তা ক্লাসে থাকতে বাধ্য।

উদাহরণ ২: Multiple Interfaces


<?php
interface A {
    public function methodA();
}

interface B {
    public function methodB();
}

class MyClass implements A, B {
    public function methodA() {
        echo "Method A Called<br>";
    }

    public function methodB() {
        echo "Method B Called";
    }
}

$obj = new MyClass();
$obj->methodA();
$obj->methodB();
?>
    

একাধিক Interface একসাথে implement করা যায়, যা Abstract Class দিয়ে সম্ভব নয়।

Interface-এর বৈশিষ্ট্য

  • Interface-এ শুধুমাত্র মেথডের declaration থাকে, কোন body (কোড) থাকে না।
  • Interface-এর সব মেথড public হতে হয়।
  • একটি ক্লাস একাধিক Interface implement করতে পারে।
  • Interface-এ কোনো property বা constructor থাকে না (PHP 8.0 পর্যন্ত)।
  • Interface ব্যবহার করে loosely coupled কোড লেখা যায়।

Interface বনাম Abstract Class

বিষয় Interface Abstract Class
Constructor Support না হ্যাঁ
Property Support না হ্যাঁ
Multiple Implementation হ্যাঁ না
Code Implementation না হ্যাঁ

উপসংহার

Interface ব্যবহার করলে ক্লাসগুলোর behavior define করা যায় এবং multiple inheritance এর সুবিধা পাওয়া যায়। এটি Dependency Injection, Polymorphism এবং Flexible Architecture তৈরিতে গুরুত্বপূর্ণ ভূমিকা রাখে।


 

Leave a Reply