У меня есть следующий класс Singleton в PHP.
class CounterBalance{
private static $instance;
private $counterBalance;
private function __construct(){
$this->counterBalance = mt_rand(1, 4);
}
// Getter method for creating/returning the single instance of this class
public final static function getInstance() {
if(!self::$instance) {
self::$instance = new CounterBalance();
echo "CounterBalance constructed <br/>";
}
return self::$instance;
}
public function getCounterBalanceValue() {
return $this->counterBalance;
}
}
Но в классе, когда я делаю что-то вроде
CounterBalance::getInstance()->getCounterBalanceValue();
на той же странице php, она работает правильно. Но он не работает должным образом на разных страницах. Я получаю несколько экземпляров CounterBalance, когда выполняю один и тот же вызов функции на следующей странице php.
Может кто-нибудь, пожалуйста, объясните, почему это происходит.
Заранее спасибо.