দেখে মনে হচ্ছে এখন পর্যন্ত কেউ উল্লেখ করেনি, একই শ্রেণীর বিভিন্ন উদাহরণের মধ্যে স্থির পরিবর্তনগুলি তাদের রাজ্য থেকে যায়। সুতরাং ওওপি কোড লেখার সময় সাবধানতা অবলম্বন করুন।
এই বিবেচনা:
class Foo
{
public function call()
{
static $test = 0;
$test++;
echo $test . PHP_EOL;
}
}
$a = new Foo();
$a->call(); // 1
$a->call(); // 2
$a->call(); // 3
$b = new Foo();
$b->call(); // 4
$b->call(); // 5
আপনি যদি কেবল স্থিত শ্রেণীর উদাহরণের জন্য স্থিতিশীল ভেরিয়েবলের অবস্থাটি মনে রাখতে চান তবে আপনি আরও ভাল কোনও শ্রেণীর সম্পত্তিকে আটকে রাখতে চাই:
class Bar
{
private $test = 0;
public function call()
{
$this->test++;
echo $this->test . PHP_EOL;
}
}
$a = new Bar();
$a->call(); // 1
$a->call(); // 2
$a->call(); // 3
$b = new Bar();
$b->call(); // 1
$b->call(); // 2