PHP-তে OOP-এ অ্যাক্সেস মডিফায়ার এবং ট্রেইট

আপনার দৃষ্টি আকর্ষণ করা উচিত যে ট্রেইট ব্যবহার করা - এটি উত্তরাধিকার নয়। উত্তরাধিকারে, প্রাইভেট মেথড এবং বৈশিষ্ট্যগুলি উত্তরাধিকার সূত্রে প্রাপ্ত নয়।

ট্রেইটগুলিতে, সবকিছু বিপরীত: ট্রেইট ব্যবহারকারী ক্লাসে পাবলিক এবং প্রাইভেট উভয় মেথড এবং বৈশিষ্ট্যই উপলব্ধ হবে।

একটি উদাহরণ দেখি। ধরুন আমাদের নিম্নলিখিত ট্রেইটটি আছে একটি প্রাইভেট মেথড সহ:

php<?php
  trait TestTrait
  {
    private function method()
    {
      return '!!!';
    }
  }
?>

আসুন আমাদের ট্রেইটটি একটি ক্লাসে সংযুক্ত করি:

php<?php
  class Test
  {
    use TestTrait;
  }
  
  new Test;
?>

ট্রেইটের প্রাইভেট মেথড ব্যবহার করি:

php<?php
  class Test
  {
    use TestTrait; // ট্রেইট সংযোগ করি
    
    public function __construct()
    {
      echo $this->method(); // আউটপুট দেবে '!!!'
    }
  }
  
  new Test;
?>