11<?php
2-
32namespace Ubiquity \utils \http \session ;
43
54use WyriHaximus \React \Http \Middleware \SessionMiddleware ;
87 * Session object for ReactPHP.
98 * Ubiquity\utils\http\session$ReactPhpSession
109 * This class is part of Ubiquity
10+ *
1111 * @author jcheron <myaddressmail@gmail.com>
12- * @version 1.0.0
12+ * @version 1.0.1
1313 *
1414 */
1515class ReactPhpSession extends AbstractSession {
16-
16+
17+ private $ visitorCount = 0 ;
18+
1719 /**
20+ *
1821 * @var \WyriHaximus\React\Http\Middleware\Session
1922 */
2023 private $ sessionInstance ;
21-
22- private function getContents (){
24+
25+ private function getContents () {
2326 return $ this ->sessionInstance ->getContents ();
2427 }
25-
26- public function setRequest (\Psr \Http \Message \ServerRequestInterface $ request ){
27- $ this ->sessionInstance = $ request ->getAttribute (SessionMiddleware::ATTRIBUTE_NAME );
28+
29+ public function setRequest (\Psr \Http \Message \ServerRequestInterface $ request ) {
30+ $ this ->sessionInstance = $ request ->getAttribute (SessionMiddleware::ATTRIBUTE_NAME );
2831 }
29-
32+
3033 public function set ($ key , $ value ) {
31- $ contents= $ this ->getContents ();
32- $ contents [$ key ]= $ value ;
34+ $ contents = $ this ->getContents ();
35+ $ contents [$ key ] = $ value ;
3336 $ this ->sessionInstance ->setContents ($ contents );
3437 }
3538
@@ -38,31 +41,37 @@ public function getAll() {
3841 }
3942
4043 public function get ($ key , $ default = null ) {
41- $ contents= $ this ->getContents ();
42- return $ contents [$ key ]?? $ default ;
44+ $ contents = $ this ->getContents ();
45+ return $ contents [$ key ] ?? $ default ;
4346 }
4447
4548 public function start ($ name = null ) {
4649 $ this ->sessionInstance ->begin ();
50+ $ this ->visitorCount ++;
4751 }
4852
4953 public function exists ($ key ) {
50- $ contents= $ this ->getContents ();
54+ $ contents = $ this ->getContents ();
5155 return isset ($ contents [$ key ]);
5256 }
5357
5458 public function terminate () {
5559 $ this ->sessionInstance ->end ();
60+ $ this ->visitorCount --;
5661 }
5762
5863 public function isStarted () {
5964 return $ this ->sessionInstance ->isActive ();
6065 }
6166
6267 public function delete ($ key ) {
63- $ contents= $ this ->getContents ();
68+ $ contents = $ this ->getContents ();
6469 unset($ contents [$ key ]);
6570 $ this ->sessionInstance ->setContents ($ contents );
6671 }
72+
73+ public function visitorCount (): int {
74+ return $ this ->visitorCount ;
75+ }
6776}
6877
0 commit comments