কম্পিউটার

পিএইচপি স্ট্যাটিক বৈশিষ্ট্য এবং পদ্ধতি


পরিচয়

একটি পিএইচপি ক্লাসে, স্ট্যাটিক কীওয়ার্ডের সাথে ঘোষিত বৈশিষ্ট্য এবং পদ্ধতিগুলি -> অপারেটরের সাহায্যে এর অবজেক্ট দ্বারা অ্যাক্সেস করা যায় না। আসলে, ক্লাসের কোনো উদাহরণ অ্যাক্সেস করার জন্য অবজেক্টের প্রয়োজন নেই। একটি ক্লাসে স্ট্যাটিক আইটেমগুলির ডিফল্ট দৃশ্যমানতা সর্বজনীন

স্থির বৈশিষ্ট্য

বাইরের ক্লাস থেকে একটি স্ট্যাটিক প্রপার্টি অ্যাক্সেস করতে, আমাদের ক্লাসের নামের সাথে স্কোপ রেজোলিউশন অপারেটর (::) ব্যবহার করতে হবে। ক্লাসের নামের মূল্যায়নকারী একটি স্ট্রিং ভেরিয়েবল স্ট্যাটিক প্রপার্টি

কেও প্রদান করতে পারে
<?php
class testclass{
   static $name="test";
}
echo testclass::$name;
$var="testclass";
echo $var::$name;
?>

একই শ্রেণীর যেকোনো পদ্ধতিতে স্ট্যাটিক প্রোপার ব্যবহার করতে, self ব্যবহার করুন -> অপারেটরের পরিবর্তে কীওয়ার্ড যা ইনস্ট্যান্স বৈশিষ্ট্য অ্যাক্সেস করার জন্য ব্যবহৃত হয়।

<?php
class testclass{
   static $name="test";
   public function test(){
      echo self::$name;
   }
}
$obj=new testclass();
$obj->test();
?>

অভিভাবক শ্রেণীতে ঘোষিত যেকোন স্ট্যাটিক সম্পত্তি অভিভাবক ব্যবহার করে একটি চাইল্ড ক্লাস পদ্ধতির ভিতরে উল্লেখ করা যেতে পারে স্কোপ রেজোলিউশন অপারেটর সহ কীওয়ার্ড

<?php
class testclass{
   static $name="test";
   public function test(){
      echo self::$name;
   }
}
class myclass extends testclass{
   public function mytest(){
      echo parent::$name;
   }
}
$obj=new myclass();
$obj->mytest();
?>

স্ট্যাটিক পদ্ধতি

যখন একটি পদ্ধতিকে স্ট্যাটিক হিসাবে ঘোষণা করা হয়, তখন ছদ্ম-ভেরিয়েবল $this এটা পাওয়া যায় না. সুতরাং, একটি শ্রেণীর উদাহরণ বৈশিষ্ট্য এটিতে অ্যাক্সেস করা যাবে না। স্ট্যাটিক পদ্ধতিকে স্কোপ রেজোলিউশন অপারেটরের সাথে ক্লাসের নামে ডাকা হয়

নিম্নলিখিত উদাহরণে, ক্লাসের একটি স্ট্যাটিক প্রপার্টি $count রয়েছে যা প্রতিবার কনস্ট্রাক্টর চালানোর সময় বৃদ্ধি পায় (যেমন প্রতিটি বস্তুর জন্য)। ক্লাসের ভিতরে, একটি স্ট্যাটিক ফাংশন রয়েছে যা স্ট্যাটিক সম্পত্তির মান পুনরুদ্ধার করে

উদাহরণ

<?php
class testclass{
   static $count=0;
   function __construct(){
      self::$count++;
   }
   static function showcount(){
      echo "count = " . self::$count;
   }
}
$a=new testclass();
$b=new testclass();
$c=new testclass();
testclass::showcount();
?>

আউটপুট

এটি নিম্নলিখিত আউটপুট তৈরি করবে -

count = 3

  1. জাভাস্ক্রিপ্টে একটি ক্লাসে স্ট্যাটিক পদ্ধতিগুলি কীভাবে বরাদ্দ করবেন?

  2. বিমূর্ত শ্রেণী এবং ইন্টারফেসের মধ্যে পার্থক্য

  3. পাইথনে বৈশিষ্ট্য এবং পদ্ধতি অ্যাক্সেস করা

  4. পাইথন ক্লাসে স্ট্যাটিক পদ্ধতি কি কি?