DEV Community

Azmol Hossain
Azmol Hossain

Posted on

PHP Object-Oriented Programming (OOP) – বিস্তারিত গাইড

Image description

PHP Object-Oriented Programming (OOP)

Object-Oriented Programming (OOP) হলো একটি প্রোগ্রামিং প্যারাডাইম যেখানে বাস্তব জীবনের জিনিসগুলোকে অবজেক্ট হিসেবে বিবেচনা করা হয় এবং সেগুলোর মধ্যে প্রপার্টি ও মেথড থাকে। PHP-তে OOP ব্যবহারের মাধ্যমে প্রজেক্টকে আরো সংগঠিত ও রিইউজেবল করা যায়।


✅ PHP What is OOP (অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং কী)

OOP-এর চারটি মূলনীতি:

  1. Encapsulation – ডেটা এবং মেথড একত্রে রাখা
  2. Abstraction – প্রয়োজনীয় বিষয় দেখানো, জটিলতা লুকানো
  3. Inheritance – একটি ক্লাসের বৈশিষ্ট্য অন্য ক্লাসে পাওয়া
  4. Polymorphism – এক নাম, একাধিক ব্যবহার

🔷 PHP Classes/Objects

ক্লাস:

class Car {
  public $color;
  public function drive() {
    echo "Car is driving";
  }
}
Enter fullscreen mode Exit fullscreen mode

অবজেক্ট:

$myCar = new Car();
$myCar->drive();
Enter fullscreen mode Exit fullscreen mode

🏗️ PHP Constructor (__construct)

class Person {
  public function __construct() {
    echo "Object created!";
  }
}
Enter fullscreen mode Exit fullscreen mode

🧹 PHP Destructor (__destruct)

class Person {
  public function __destruct() {
    echo "Object destroyed!";
  }
}
Enter fullscreen mode Exit fullscreen mode

🔐 PHP Access Modifiers

  • public: সব জায়গা থেকে অ্যাক্সেসযোগ্য
  • protected: শুধুমাত্র ক্লাস ও সাবক্লাসে অ্যাক্সেসযোগ্য
  • private: শুধুমাত্র সেই ক্লাসেই অ্যাক্সেসযোগ্য
class Test {
  public $name;
  private $secret;
  protected $data;
}
Enter fullscreen mode Exit fullscreen mode

🧬 PHP Inheritance

class Animal {
  public function sound() {
    echo "Animal sound";
  }
}

class Dog extends Animal {
  public function bark() {
    echo "Dog barks";
  }
}
Enter fullscreen mode Exit fullscreen mode

🧱 PHP Constants

class MyClass {
  const VERSION = "1.0";
}
echo MyClass::VERSION;
Enter fullscreen mode Exit fullscreen mode

📄 PHP Abstract Classes

abstract class Shape {
  abstract public function area();
}
Enter fullscreen mode Exit fullscreen mode

🔌 PHP Interfaces

interface Logger {
  public function log($data);
}

class FileLogger implements Logger {
  public function log($data) {
    echo "Logging to file";
  }
}
Enter fullscreen mode Exit fullscreen mode

🧩 PHP Traits

trait Logger {
  public function log($msg) {
    echo $msg;
  }
}

class App {
  use Logger;
}
Enter fullscreen mode Exit fullscreen mode

🧷 PHP Static Methods

class Math {
  public static function add($a, $b) {
    return $a + $b;
  }
}
echo Math::add(2, 3);
Enter fullscreen mode Exit fullscreen mode

🧲 PHP Static Properties

class Counter {
  public static $count = 0;
}
echo Counter::$count;
Enter fullscreen mode Exit fullscreen mode

📦 PHP Namespaces

namespace App\Models;

class User {
  public function getName() {
    return "Limon";
  }
}
Enter fullscreen mode Exit fullscreen mode

🔁 PHP Iterables

function printItems(iterable $items) {
  foreach ($items as $item) {
    echo $item;
  }
}
Enter fullscreen mode Exit fullscreen mode

🔚 উপসংহার

PHP OOP ব্যবহার করলে কোড হয়:

  • ✅ Reusable (পুনরায় ব্যবহারযোগ্য)
  • ✅ Modular (মডুলার)
  • ✅ Organized (সুশৃঙ্খল)
  • ✅ Maintainable (রক্ষণাবেক্ষণে সহজ)

শিখতে থাকো, প্র্যাকটিস করো — PHP OOP তোমার প্রজেক্টকে নতুন উচ্চতায় নিয়ে যাবে!


Top comments (0)