কম্পিউটার টিউটোরিয়াল

PHP-তে গেটার (Getter) ও সেটার (Setter) মেথড কী?

এই আর্টিকেলে আমরা PHP-তে গেটার ও সেটার মেথড তৈরির সেরা পদ্ধতি শিখব। গেটার ও সেটার মেথডগুলো ব্যবহার করা হয় যখন আমরা এন্ড-ইউজারদের দ্বারা ভেরিয়েবলগুলোর সরাসরি অ্যাক্সেস সীমাবদ্ধ করতে চাই। গেটার ও সেটার হলো মেথড जिनের মাধ্যমে ভেরিয়েবলগুলোর ভ্যালু ডিফাইন বা রিট্রিভ করা হয়, সাধারণত প্রাইভেট ভেরিয়েবলগুলোর জন্য।

নাম অনুসারে, একটি গেটার মেথড হলো একটি টেকনিক যা একটি অবজেক্টের ভ্যালু পায় বা রিট্রিভ করে। আবার একটি সেটার মেথড হলো একটি টেকনিক যা একটি অবজেক্টের ভ্যালু সেট করে।

উদাহরণ

গেটার ও সেটার মেথডের ব্যবহার উদাহরণ দিয়ে বুঝি।

<?php 
class Person{ 
    private $name; 
    public function setName($name){ 
        $this->name = $name; 
    } 
    public function getName(){ 
        return $this->name; 
    } 
} 
$person = new Person(); 
echo $person->name; 
?>

আউটপুট:

PHP Error Cannot access private property Person::$name

ব্যাখ্যা:

আমাদের Person ক্লাসে $name নামে একটি প্রাইভেট প্রপার্টি রয়েছে। কারণ এটি প্রাইভেট প্রপার্টি, তাই আমরা সরাসরি উপরের মতো অ্যাক্সেস করতে পারি না এবং সেটি ফেটাল এরর প্রোডিউস করবে।

উদাহরণ

উপরোক্ত কোড চালিয়ে আমাদের চাওয়া আউটপুট পেতে নিচের উদাহরণটি পরীক্ষা করি।

<?php 
class Person{ 
    private $name; 
    public function setName($name){ 
        $this->name = $name; 
    } 
    public function getName(){ 
        return 'welcome'. $this->name; 
    } 
} 
$person = new Person(); 
$person->setName('Alex'); 
$name = $person->getName(); 
echo $name; 
?>

আউটপুট:

welcomeAlex

ব্যাখ্যা:

এখানে আমাদের প্রাইভেট প্রপার্টিগুলোতে অ্যাক্সেস দিতে আমরা একটি "গেটার" ফাংশন তৈরি করেছি getName নামে, আবার কারণ প্রপার্টিগুলোর ভিজিবিলিটি প্রাইভেট, তাই আপনি তাদের ভ্যালু পরিবর্তন বা মডিফাই করতে পারবেন না। তাই আপনাকে আমাদের তৈরি করা "সেটার" ফাংশনগুলো ব্যবহার করতে হবে: setName। এরপর আমরা Person অবজেক্ট ইনস্ট্যানশিয়েট করেছি।

আমরা $name প্রপার্টিটি "Alex" হিসেবে "সেট" করেছি আমাদের সেটার মেথড setName ব্যবহার করে। তারপর আমরা $name প্রপার্টির ভ্যালু রিট্রিভ করেছি আমাদের গেটার ফাংশন getName ব্যবহার করে।

  1. C#-এ জেনেরিক মেথড কী?

  2. C#-এ Thread ক্লাসের মেথড এবং প্রোপার্টিগুলো

  3. C#-এ ক্লাস মেথড (Class Methods) এবং ক্লাস মেম্বার (Class Members) এর পার্থক্য

  4. পাইথন ক্লাসে Getter/Setter মেথডগুলো কী?