Я разработчик PHP, и у меня есть класс, который включен почти на каждую страницу моего проекта.Теперь объект, который я создаю каждый раз, одинаков для всех страниц, хотя у меня есть объект, который мне нужен для каждого из объектов, рассмотрим страницу, в которой они находятся. Поэтому мой вопрос заключается в том,у меня может быть класс, который имеет статическую переменную, которая является sherd между экземплярами с разных страниц?
ПРИМЕЧАНИЕ. - Мне нужно создавать объект только при создании первого экземпляра, поскольку вы не можете объявить новое в переменной
пример:
имя страницы - class.php
<?php
class foo{
var $a;
public static $b;
function foo($a){
$this->a = $a;
if(!self::$b) self::b = new bar("c");
}
public static function update_static(){
self::$b = new bar("c2");
}
}
class bar{
var $c;
function foo($c){
$this->c = $c;
}
}
?>
Теперь у меня есть две разные страницы.
страница 1.
<?php
include('class.php');
$new_foo = new foo("a");
var_dump(foo::$b); //or var_dump($new_foo::$b)
?>
стр. 2.
<?php
include('class.php');
$new_foo = new foo("a");
foo::update_static();
?>
Я хочу, чтобы при запуске первой страницы, а затем второй, а затем и первой снова показывался optup на первой странице: первый запуск -
object(bar)(1){["c"]=>string(1) "c"}
второй запуск после запуска второй страницы -
object(bar)(1){["c"]=>string(1) "c2"}
теперь я знаю, что объявляю объект внутри статической переменной только при создании первого экземпляра, но мне интересно, есть ли какой-нибудь способ сделать эти экземплярыв морЗатем одна страница будет использовать один и тот же статический объект.