PHP OOP – Static Properties (স্ট্যাটিক প্রপার্টি)
Static properties হলো এমন প্রপার্টি যা ক্লাসের সাথে যুক্ত থাকে, কোনো নির্দিষ্ট অবজেক্টের সাথে নয়। অর্থাৎ, আপনি অবজেক্ট তৈরি না করেও ক্লাস থেকে সরাসরি static প্রপার্টি এক্সেস করতে পারেন।
Static Property কীভাবে কাজ করে?
একটি প্রপার্টিকে static করতে হলে static কিওয়ার্ড ব্যবহার করতে হয়। এক্সেস করতে হয় ClassName::$propertyName ফরম্যাটে।
উদাহরণ:
<?php
class MyClass {
public static $name = "বাংলা কোডার";
}
// ক্লাসের মাধ্যমে সরাসরি এক্সেস
echo MyClass::$name;
?>
self:: কিওয়ার্ড ব্যবহার
যদি ক্লাসের ভিতরে static property এক্সেস করতে চান, তাহলে self:: কিওয়ার্ড ব্যবহার করতে হবে।
উদাহরণ:
<?php
class Counter {
public static $count = 0;
public static function increment() {
self::$count++;
}
public static function getCount() {
return self::$count;
}
}
Counter::increment();
Counter::increment();
echo Counter::getCount(); // আউটপুট: 2
?>
কোথায় ব্যবহার উপযোগী?
- Global counter হিসেবেঃ যেমন visitor count
- Configuration বা constant values স্টোর করতে
- Class-level data track করার জন্য
টেবিল: Static vs Regular Properties
| Regular Property | Static Property |
|---|---|
| প্রতিটি অবজেক্টের আলাদা কপি থাকে | একই ভ্যালু সকল অবজেক্টে শেয়ার হয় |
| $this->property দিয়ে এক্সেস | self::$property বা Class::$property দিয়ে এক্সেস |
সতর্কতা
- Static properties পরিবর্তন করলে তা পুরো ক্লাসে প্রভাব ফেলে
- OOP design principles অনুযায়ী অতিরিক্ত static usage পরিহার করুন
সারসংক্ষেপ
Static properties ক্লাসের সাথে যুক্ত একটি shared ডেটা রিপ্রেজেন্ট করে।
এটি utility functions, state tracking এবং configuration data-এর জন্য অসাধারণ।
তবে Design pattern অনুসরণ করে ব্যবহার করাই উত্তম।