পিএইচপি OOP $this কীওয়ার্ড
OOP তে $this
একটি বিশেষ ভ্যারিয়েবল। এটি একই অবজেক্টকে নির্দেশ করে। $this
কীওয়ার্ড ব্যবহার করে আপনি একটি ক্লাসের প্রোপার্টি এবং মেথডসমুহকে ঐ ক্লাসের মধ্য থেকেই অ্যাক্সেস করতে পারবেন।
পিএইচপি OOP $this কীওয়ার্ড
$this
কীওয়ার্ড আমাদেরকে এই নির্দেশনা দেয় যে, আমরা ক্লাস এর নিজস্ব প্রোপার্টি এবং মেথড ব্যবহার করতে যাচ্ছি এবং এটি আমাদেরকে ক্লাস স্কোপ থেকে এগুলো ব্যবহার/ অ্যাক্সেস করার সম্মতি দেয়।
$this
কীওয়ার্ড ডলার($) চিহ্ন দ্বারা শুরু হয় অথচ প্রোপার্টি এবং মেথড এর নাম এটি দ্বারা শুরু হয় না। নিম্নের সিন্ট্যাক্স ব্যবহার করে আমরা একটি ক্লাসের প্রোপার্টি এবং মেথডকে ক্লাসের মধ্য থেকে অ্যাক্সেস করবোঃ
$this->propertyName;
$this->methodName();
$this
কীওয়ার্ড দ্বারা প্রোপার্টি অ্যাক্সেস করার সময় প্রোপার্টির নামের পূর্বে ডলার($) চিহ্ন ব্যবহার করা যাবে না।নিম্নের উদাহরণে আমরা দেখবো $this
কীওয়ার্ড ব্যবহার করে কিভাবে একটি প্রোপার্টিকে ঐ ক্লাসের একটি মেথডের মধ্য থেকে অ্যাক্সেস করা যায়ঃ
<?php
class Greeting{
public $guestName;
public function welcome(){
echo "Welcome ".$this->guestName."<br>";
}
}
?>
এখন আমরা এই ক্লাসের দুইটি ভিন্ন অবজেক্ট তৈরি করবোঃ
$guestOne = new Greeting();
$guestTwo = new Greeting();
এখন আমরা ক্লাসের প্রোপার্টিতে মান সেট করবোঃ
$guestOne->guestName = "Tamjid Hasan";
$guestTwo->guestName = "Azizur Rahman";
এখন আমরা প্রথম অবজেক্টের জন্য welcome()
মেথডটির আউটপুট নিবঃ
$guestOne->welcome();
Welcome Tamjid Hasan
এখন আমরা দ্বিতীয় অবজেক্টের জন্য welcome()
মেথডটির আউটপুট নিবঃ
$guestTwo->welcome();
Welcome Azizur Rahman
উপরের ব্যবহৃত সকল কোড নিম্নে একত্রে দেওয়া হলোঃ
<?php
class Greeting{
// প্রোপার্টি ডিক্লেয়ার
public $guestName;
// মেথড ডিফাইন এবং $this কীওয়ার্ডের মাধ্যমে প্রোপার্টি অ্যাক্সেস
public function welcome(){
echo "Welcome ".$this->guestName."<br>";
}
}
// অবজেক্ট তৈরি
$guestOne = new Greeting();
$guestTwo = new Greeting();
// প্রোপার্টিতে মান ডিফাইন
$guestOne->guestName = "Tamjid Hasan";
$guestTwo->guestName = "Azizur Rahman";
// ফলাফল
$guestOne->welcome();
$guestTwo->welcome();
?>
Welcome Tamjid Hasan
Welcome Azizur Rahman
পরামর্শঃ আপনি একই পদ্ধতি ব্যবহার করে মেথডকে মেথডের মধ্যেও অ্যাক্সেস করতে পারবেন।