|
16 | 16 | use Config\App; |
17 | 17 | use Config\Cookie as CookieConfig; |
18 | 18 | use Config\Services; |
| 19 | +use Config\Session as SessionConfig; |
19 | 20 | use Psr\Log\LoggerAwareTrait; |
20 | 21 | use SessionHandlerInterface; |
21 | 22 |
|
@@ -164,13 +165,28 @@ public function __construct(SessionHandlerInterface $driver, App $config) |
164 | 165 | { |
165 | 166 | $this->driver = $driver; |
166 | 167 |
|
167 | | - $this->sessionDriverName = $config->sessionDriver; |
168 | | - $this->sessionCookieName = $config->sessionCookieName ?? $this->sessionCookieName; |
169 | | - $this->sessionExpiration = $config->sessionExpiration ?? $this->sessionExpiration; |
170 | | - $this->sessionSavePath = $config->sessionSavePath; |
171 | | - $this->sessionMatchIP = $config->sessionMatchIP ?? $this->sessionMatchIP; |
172 | | - $this->sessionTimeToUpdate = $config->sessionTimeToUpdate ?? $this->sessionTimeToUpdate; |
173 | | - $this->sessionRegenerateDestroy = $config->sessionRegenerateDestroy ?? $this->sessionRegenerateDestroy; |
| 168 | + /** @var SessionConfig|null $session */ |
| 169 | + $session = config('Session'); |
| 170 | + |
| 171 | + // Store Session configurations |
| 172 | + if ($session instanceof SessionConfig) { |
| 173 | + $this->sessionDriverName = $session->driver; |
| 174 | + $this->sessionCookieName = $session->cookieName ?? $this->sessionCookieName; |
| 175 | + $this->sessionExpiration = $session->expiration ?? $this->sessionExpiration; |
| 176 | + $this->sessionSavePath = $session->savePath; |
| 177 | + $this->sessionMatchIP = $session->matchIP ?? $this->sessionMatchIP; |
| 178 | + $this->sessionTimeToUpdate = $session->timeToUpdate ?? $this->sessionTimeToUpdate; |
| 179 | + $this->sessionRegenerateDestroy = $session->regenerateDestroy ?? $this->sessionRegenerateDestroy; |
| 180 | + } else { |
| 181 | + // `Config/Session.php` is absence |
| 182 | + $this->sessionDriverName = $config->sessionDriver; |
| 183 | + $this->sessionCookieName = $config->sessionCookieName ?? $this->sessionCookieName; |
| 184 | + $this->sessionExpiration = $config->sessionExpiration ?? $this->sessionExpiration; |
| 185 | + $this->sessionSavePath = $config->sessionSavePath; |
| 186 | + $this->sessionMatchIP = $config->sessionMatchIP ?? $this->sessionMatchIP; |
| 187 | + $this->sessionTimeToUpdate = $config->sessionTimeToUpdate ?? $this->sessionTimeToUpdate; |
| 188 | + $this->sessionRegenerateDestroy = $config->sessionRegenerateDestroy ?? $this->sessionRegenerateDestroy; |
| 189 | + } |
174 | 190 |
|
175 | 191 | // DEPRECATED COOKIE MANAGEMENT |
176 | 192 | $this->cookiePath = $config->cookiePath ?? $this->cookiePath; |
|
0 commit comments