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

PHP-তে ট্রেইট (Trait) কী?

PHP 5.4 ভার্সনে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং-এ ট্রেইট (trait) সংক্রান্ত করা হয়েছে। একটি ট্রেইট ক্লাসের মতো হলেও এটি শুধু মেথডগুলোকে ফাইন-গ্রেইন্ড এবং নির্ভরযোগ্যভাবে গ্রুপ করার জন্য। ট্রেইটকে স্বতন্ত্রভাবে ইনস্ট্যানশিয়েট করা যায় না। ট্রেইট PHP 5.4-এ সিঙ্গেল ইনহেরিটেন্সের সমস্যা সমাধান করার জন্য চালু করা হয়েছে। সিঙ্গেল ইনহেরিটেন্সে একটি ক্লাস শুধু একটি অন্য ক্লাস থেকে ইনহেরিট করতে পারে। কিন্তু ট্রেইটের মাধ্যমে ডেভেলপাররা স্বতন্ত্র ক্লাসের হায়ারার্কিতে রয়েছে এমন ক্লাসগুলোর মধ্যে মেথডের সেটগুলো পুনরাবৃত্তি করতে পারেন।

উদাহরণ

<?php 
trait Reader{ 
    public function add($var1,$var2){ 
        return $var1+$var2; 
    } 
} 
trait writer { 
    public function multiplication($var1,$var2){ 
        return $var1*$var2; 
    } 
} 
class File { 
    use Reader; 
    use writer; 
    public function calculate($var1,$var2){ 
        echo "Result of addition:".$this->add($var1,$var2) ."\n"; 
        echo "Result of multiplication:".$this->multiplication($var1,$var2); 
    } 
} 
$o = new File(); 
$o->calculate(5,3); 
?>

আউটপুট

Result of addition two numbers:8
Result of multiplication of two numbers:15

ব্যাখ্যা

উপরোক্ত উদাহরণে, আমরা দুটি ট্রেইট থেকে ফাংশন ইমপ্লিমেন্ট করে একটি ক্লাসে ব্যবহার করেছি। ট্রেইটের কারণে আমরা একাধিক ফাংশন একই ক্লাসে অ্যাক্সেস করতে পারছি।

নোট

ক্লাসের ভিতরে ট্রেইট অ্যাক্সেস করার জন্য "USE" কিওয়ার্ড ব্যবহার করা হয়।

  1. PHP ফাইল কী? খোলা, এডিট, কনভার্ট ও HTML-এর সাথে কাজ করার গাইড

  2. PHP আউটপুট বাফারিং (Output Buffering) কী?

  3. PHP-তে implode() ফাংশন কী?

  4. PHP-তে header() ফাংশন কী?