A więc posiadam klasę singletonowa z kilkoma funkcjami której instancje tworze w pliku index.php,
w pliku index.php includuje tez pliki potrzebne do wyświetlania treści strony(header,footer i content).
Chciałem uzyskać nastepujacy efekt: gdy w jednej karcie mam otwarta zakladke z moja strona(np. posty) i będę chciał wejść na 2 stronę (np kategorie) dostane komunikat typu "Wejście na stronę jest zabronionej bo ktoś inny siedzi na innej stronie".
Dlatego robie cos takiego:
//$zmienna to obiekt mojej klasy singletonowej - utowrzona w index.php if($zmienna->wolny()==true) { $zmienna->zablokuj(); //normalny kod strony $zmienna->odblokuj(); }
na każdej swojej podstronie, a ogólna koncepcja jest taka: klasa ma zmienna która przechowuje wartość true bądź false, jesli w
if($zmienna->wolny()==true)
mamy true kod zostaje wykonany a funkcja zablokuj() odpowiednio modyfikuje wartość zmiennej w singletonie, więc identyczny warunek
na innej podstronie zwrócił by false i jej kod nie został by wykonany.
dopiero funkcja odblokuj() pozwoliła by na wykonanie kodu na innej stronie.
Niestety tak sie nie dzieje. Mimo że kod na każdej stronie wykonuje mi się min.ok. 1 minuty(sam pojedynczy skrypt php na stronie zajmuje >50 sekund) to nie wystepuje zjawisko blokady
gdy natomiast użyje w pliku index.php funkcji zablokuj() kod na wszystkich stronach jest blokowany. Wiec nie wiem skąd bierze się to że mimo że klasa jest singletonowa to jej wartości w includowanych plikach sie nie pokrywają.
Czy da się to jakoś rozwiązać?