1- <?php
1+ <?php declare (strict_types= 1 );
22
33/*
44 * This file is part of Polymorphine/Session package.
1515use Polymorphine \Session \SessionContext ;
1616use Polymorphine \Session \SessionStorageProvider ;
1717use Polymorphine \Session \SessionStorage ;
18+ use Polymorphine \Session \SessionStorage \ContextSessionStorage ;
1819use Polymorphine \Headers \Cookie ;
1920use Psr \Http \Server \RequestHandlerInterface ;
2021use Psr \Http \Message \ServerRequestInterface ;
2425
2526class NativeSessionContext implements MiddlewareInterface, SessionContext, SessionStorageProvider
2627{
27- /** @var SessionStorage\ContextSessionStorage */
28- private $ sessionData ;
29- private $ cookie ;
28+ private ContextSessionStorage $ sessionData ;
29+ private Cookie $ cookie ;
3030
31- private $ sessionStarted = false ;
32- private $ regenerateId = false ;
31+ private bool $ sessionStarted = false ;
32+ private bool $ regenerateId = false ;
3333
34+ /**
35+ * @param Cookie $cookie
36+ */
3437 public function __construct (Cookie $ cookie )
3538 {
3639 $ this ->cookie = $ cookie ;
@@ -39,7 +42,7 @@ public function __construct(Cookie $cookie)
3942 public function process (ServerRequestInterface $ request , RequestHandlerInterface $ handler ): ResponseInterface
4043 {
4144 if ($ this ->containsSessionCookie ($ request )) { $ this ->start (); }
42- $ this ->sessionData = new SessionStorage \ ContextSessionStorage ($ this , $ _SESSION ?? []);
45+ $ this ->sessionData = new ContextSessionStorage ($ this , $ _SESSION ?? []);
4346
4447 $ response = $ handler ->handle ($ request );
4548 $ this ->sessionData ->commit ();
@@ -49,7 +52,7 @@ public function process(ServerRequestInterface $request, RequestHandlerInterface
4952
5053 public function storage (): SessionStorage
5154 {
52- if (!$ this ->sessionData ) {
55+ if (!isset ( $ this ->sessionData ) ) {
5356 throw new RuntimeException ('Session context not started ' );
5457 }
5558 return $ this ->sessionData ;
0 commit comments