Anonymous Classes PHP 7 থেকে প্রবর্তিত একটি বৈশিষ্ট্য, যা আপনাকে নামহীন (anonymous) ক্লাস তৈরি করতে দেয়। এটি একটি অস্থায়ী ক্লাস হিসেবে ব্যবহার করা যেতে পারে যা কেবল একটি নির্দিষ্ট পরিস্থিতিতে বা ব্যবহারকারীর ইনপুটের ভিত্তিতে তৈরি হয়, এবং তারপর তা আর ব্যবহৃত হয় না। এগুলি সাধারণত ছোট স্কোপে ব্যবহার করা হয় যেখানে আপনি একটি একক উদ্দেশ্যের জন্য ক্লাস তৈরি করতে চান এবং পরে আর এটি ব্যবহার করার প্রয়োজন হয় না।
যেহেতু Anonymous Classes সাধারণত টেমপ্লেট ক্লাস হিসেবে কাজ করে, তাদের মধ্যে কনস্ট্রাক্টর এবং মেথড সংজ্ঞায়িত করা সম্ভব।
Anonymous Class কনস্ট্রাক্টর এবং মেথড
এখানে দেখানো হবে কিভাবে একটি অ্যানোনিমাস ক্লাসে কনস্ট্রাক্টর এবং মেথড ব্যবহার করা যায়।
Anonymous Class এর কনস্ট্রাক্টর
Anonymous Class-এ কনস্ট্রাক্টর ব্যবহার করতে __construct() ফাংশন ব্যবহার করতে হয়, যা ক্লাসের ইন্সট্যান্স তৈরি হওয়ার সময় স্বয়ংক্রিয়ভাবে কল হয়।
উদাহরণ:
<?php
$person = new class("John", 25) {
public $name;
public $age;
// কনস্ট্রাক্টর ডিফাইন করা
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
// মেথড ডিফাইন করা
public function greet() {
return "Hello, my name is {$this->name} and I am {$this->age} years old.";
}
};
echo $person->greet(); // আউটপুট হবে: Hello, my name is John and I am 25 years old.
?>এখানে, new class("John", 25) এ একটি অ্যানোনিমাস ক্লাস তৈরি হচ্ছে, যার কনস্ট্রাক্টর $name এবং $age প্রপার্টি ইনিশিয়ালাইজ করে। কনস্ট্রাক্টর কল করার পর greet() মেথডটি ব্যবহার করা হচ্ছে।
Anonymous Class এর মেথড
Anonymous Class-এ মেথড তৈরি করা যায়, যা ক্লাসের ইনস্ট্যান্সের সঙ্গে যুক্ত থাকে। এই মেথডগুলো সাধারণত ক্লাসের ডেটার উপর কাজ করে এবং সেই ডেটা রিটার্ন করতে পারে।
উদাহরণ:
<?php
$car = new class {
public $brand;
public $model;
// কনস্ট্রাক্টর
public function __construct($brand, $model) {
$this->brand = $brand;
$this->model = $model;
}
// মেথড
public function displayInfo() {
return "Car brand: {$this->brand}, Model: {$this->model}";
}
};
$car->brand = "Toyota";
$car->model = "Corolla";
echo $car->displayInfo(); // আউটপুট হবে: Car brand: Toyota, Model: Corolla
?>এখানে, displayInfo() একটি মেথড হিসেবে কাজ করছে, যা brand এবং model প্রপার্টি থেকে ডেটা নিয়ে সেটিকে প্রদর্শন করছে।
Summary
- Anonymous Classes PHP-তে নামহীন ক্লাস তৈরি করতে ব্যবহৃত হয় যা সাধারণত অস্থায়ী উদ্দেশ্যে ব্যবহৃত হয়।
- Constructor (
__construct()): এটি অ্যানোনিমাস ক্লাসের ইন্সট্যান্স তৈরি করার সময় স্বয়ংক্রিয়ভাবে কল হয়। - Method: আপনি অ্যানোনিমাস ক্লাসে মেথড তৈরি করতে পারেন, যেগুলি ক্লাসের ডেটা বা প্রপার্টির উপর কাজ করতে পারে।
Anonymous Classes PHP-তে সাধারণত একক স্কোপে বা এককালীন উদ্দেশ্যে ব্যবহৃত হয় এবং এর কনস্ট্রাক্টর ও মেথড ব্যবহারের মাধ্যমে আপনি সহজেই ডেটা প্রক্রিয়া এবং কাস্টম আচরণ তৈরি করতে পারেন।