PHP – অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (OOP) কী?
OOP বা অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং হল এমন একটি প্রোগ্রামিং পদ্ধতি যেখানে অবজেক্টের মাধ্যমে কোড স্ট্রাকচার তৈরি করা হয়। PHP-তে OOP আপনাকে আরও উন্নত, পুনঃব্যবহারযোগ্য এবং স্কেলেবল কোড লিখতে সাহায্য করে।
OOP এর মূল ধারণা
OOP-তে নিচের চারটি মূল বৈশিষ্ট্য থাকে:
| ধারণা | বর্ণনা |
|---|---|
| Encapsulation | ডেটা ও মেথড একসাথে ক্লাসে রাখা হয় |
| Inheritance | একটি ক্লাস অন্য ক্লাসের বৈশিষ্ট্য গ্রহণ করে |
| Polymorphism | একই মেথড বিভিন্নভাবে ব্যবহার করা যায় |
| Abstraction | অপ্রয়োজনীয় তথ্য লুকিয়ে দরকারি অংশ প্রকাশ করা |
PHP-তে ক্লাস ও অবজেক্ট
OOP শুরু হয় ক্লাস এবং অবজেক্ট দিয়ে। ক্লাস হল একটি ব্লুপ্রিন্ট এবং অবজেক্ট হল সেই ক্লাসের বাস্তব রূপ।
<?php
class Person {
public $name;
function setName($name) {
$this->name = $name;
}
function getName() {
return $this->name;
}
}
$obj = new Person();
$obj->setName("Rahim");
echo $obj->getName();
?>
এখানে Person ক্লাসের মাধ্যমে একটি অবজেক্ট তৈরি করা হয়েছে, এবং সেটি দিয়ে নাম সেট ও গেট করা হচ্ছে।
Constructor মেথড
Constructor হল একটি স্পেশাল মেথড যা অবজেক্ট তৈরি হওয়ার সময় স্বয়ংক্রিয়ভাবে কল হয়।
<?php
class Student {
function __construct() {
echo "Constructor Automatically Called!";
}
}
$std = new Student();
?>
Inheritance (উত্তরাধিকার)
একটি ক্লাস থেকে আরেকটি ক্লাস সব বৈশিষ্ট্য গ্রহণ করতে পারে।
<?php
class Animal {
public function sound() {
echo "Some sound";
}
}
class Dog extends Animal {
public function sound() {
echo "Bark!";
}
}
$dog = new Dog();
$dog->sound(); // আউটপুট: Bark!
?>
Polymorphism ও Overriding
একই নামের মেথড subclass-এ নতুনভাবে define করলে সেটিকে override বলা হয়। এটি Polymorphism-এর একটি উদাহরণ।
OOP ব্যবহার করার সুবিধা
- কোড রিইউজযোগ্য এবং স্কেলযোগ্য হয়
- বড় বড় প্রজেক্টে কোড মেইনটেইন করা সহজ
- মডুলার কোড লেখায় সহায়তা করে
- আধুনিক Framework গুলোতে (Laravel, Symfony) OOP অপরিহার্য
শেষ কথা
PHP-তে OOP শেখা আপনার ক্যারিয়ারে অনেক বড় ভূমিকা রাখতে পারে। একটি পরিষ্কার, মডুলার এবং সংগঠিত কোডবেস তৈরি করতে চাইলে OOP ব্যবহার করা অত্যন্ত জরুরি।