PHP OOP Part-1: Introduction, Object, and Class

Jamir Hossain
3 min readNov 28, 2023

--

সফটওয়্যার মূলত একটি প্রোগ্রাম, যা কম্পিউটারে বিশেষ করে কাজ করার জন্য তৈরি করা হয়। একটি প্রোগ্রামে কতগুলি ইনস্ট্রাকশন থাকে যেগুলো প্রোগ্রামের কাজ করার উদ্দেশ্যে লেখা হয়। এই ইনস্ট্রাকশনগুলি লেখার জন্য কিছু পদ্ধতি ও স্টাইল Follow করা হয়, যাদেরকে প্রোগ্রামিং প্যারাডাইম বলা হয়। প্রোগ্রামিংয়ের বেশ কতগুলো প্যারাডাইম রয়েছে যেমনঃ

১. ইম্পারেটিভ (imperative)

২. ডিক্লেয়ারেটিভ (declarative)

৩. প্রসিডিউরাল (procedural)

৪. ফাংশনাল (functional)

৫. অবজেক্ট ওরিয়েন্টেড (object oriented) ইত্যাদি।

তবে এই সিরিজ জুড়ে আমরা পিএইচপির অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং প্যারাডাইম সম্পর্কে জানার চেষ্টা করব।

PHP এর একদম শুরু থেকেই Procedural Programming করা যায়। তাছাড়া PHP কে Functional Programming ও করা যায়। কিন্তু ২০০৪ সালে PHP version 5 থেকে PHP তে OOP এর Introduce করা হয় যে PHP কে আমরা একটা OOP Language হিসেবে ব্যবহার করতে পারব।

এই চিত্রে Object Oriented Programming System er সব চাইতে গুরুত্বপুর্ণ Terms গুলো কে উল্লেখ করা হয়েছে। এই প্রত্যেকটা টার্ম সম্পর্কে আমরা ধীরে ধীরে ধারণা নেওয়ার চেষ্টা করব

What is Object?

আমরা আমাদের Real life example এ আমাদের চার পাশে যা কিছু দেখি তাদেরকে প্রত্যেকটিকে আমরা এক একটি Object হিসেবে consider করতে পারি। এখন আমরা যদি আরও সহযে Object কে চিহ্নিত করতে চাই তাহলে আমাদের চার পাশের Noun গুলোকে বিবেচনা করব। যেমনঃ Man, Animal, Car ইত্যাদি এইগুলো Noun তাই এদেরকে আমরা Object বলতে পারব। এখন Object এর বিভিন্ন বৈশিষ্ট থাকে যেমনঃ

  1. property Object এর property হিসেবে আমরা এর বিভিন্ন জিনিস কে বিবেচনা করতে পারি যেমনঃ name, size, color, weight ইত্যাদি।
  2. action/behaviour/method Object এর action বা behaviour বা method হিসেবে আমরা Object এর বিভিন্ন আচরণ কে বিবেচনা করব। যেমনঃ সে কি কি কাজ করবে, কিভাবে করবে ইত্যাদি।

এখন যদি আমরা Car Object এর Property এবং behaviour কে বিবেচনা করি তাহলে property = color, size, weight, name ইত্যাদি behaviour = carCanStart, carCanStop, carCanRun ইত্যাদি

এখন PHP আমরা কিভাবে অবজেক্ট তৈরি করতে পারি? PHP তে আমাদেরকে অবজেক্ট ক্রিয়েট করতে হলে আমাদেরকে প্রাথমিকভাবে ক্লাসের সাহায্য নিতে হবে। ক্লাস কি সেটা আমরা একটু পরেই জানতে পারবো। নিচের উদাহরণটি লক্ষ্য করা যাক।

class Vehicle
{
public $name;
public $color;

public function setValue(string $name, string $color)
{
$this->name = $name;
$this->color = $color;
}

public function getValue()
{
echo "Car name: $this->name\n";
echo "Car color: $this->color\n";
}
}

$toyota = new Vehicle;
$toyota->setValue('Toyota', 'Red');
$toyota->getValue();

এই উদাহরণে আমরা দেখতে পাচ্ছি Vehicle নামে একটি ক্লাসের সাহায্যে আমরা $toyota নামে একটি অবজেক্ট ক্রিয়েট করেছি। এখানে অবজেক্ট ক্রিয়েট করার জন্য “new” কিওয়ার্ডটি ব্যবহার করেছি। এটি PHP এর built in একটি keyword যা কোনো ক্লাসের নতুন অবজেক্টটি তৈরি করতে ব্যবহৃত হয়।

এভাবে আমরা যতগুলো প্রয়োজন ততগুলো অবজেক্ট ক্রিয়েট করতে পারব। এখন উপরে আমরা একটা অবজেক্টের যে সকল বৈশিষ্ট্য থাকা দরকার সেগুলোকে উপরে উল্লেখ করেছি। এখন আমরা দেখতে পাচ্ছি যে আমাদের ক্রিয়েট করা অবজেক্ট এর মধ্যে ওই বৈশিষ্ট্যগুলো রয়েছে যেমন এই অবজেক্টের কিছু প্রপার্টি রয়েছে এই অবজেক্টের কিছু মেথড বা একশন রয়েছে ইত্যাদি।

What is Class?

Class হলো একটি Template বা Blueprint, যা একটি অবজেক্ট তৈরি করতে ব্যবহৃত হয়। Class তৈরি করার সময়, আমরা সেই Class-এর Property এবং Method গুলোকে সংজ্ঞায়িত করতে পারি, যা সেই Class-এর অবজেক্ট তৈরি করার পর ব্যবহৃত হতে পারে।

নিচে একটি সাধারণ ক্লাসের উদাহরণ দেওয়া হলো:

class Car
{
public $name;
public $color;

public function setValue(string $name, string $color)
{
$this->name = $name;
$this->color = $color;
}

public function getValue()
{
echo "Car name: $this->name\n";
echo "Car color: $this->color\n";
}
}

$toyota = new Car;
$toyota->setValue('Toyota', 'Red');
$toyota->getValue();

$tesla = new Car;
$tesla->setValue('Zip', 'Blue');
$tesla->getValue();

উপরের Code এ আমরা দেখতে পাচ্ছি যে Car class দিয়ে আমরা ২ টি Object তৈরি করেছি। তার মানে আমরা চাইলে এই Same class দিয়ে আরও অনেক car object তৈরি করতে পারব। অর্থাৎ Car class টি এখানে blueprint এর মতোই কাজ করতেছে।

আশা করি এই পর্বের আলোচিত বিষয় গুলো সম্পর্কে আপনাদের প্রাথমিক ধারণা হয়েছে। তাহলে আজ এই পর্যন্তই, কথা হবে পরবর্তী লেছনে।

--

--