@@ -27,12 +27,18 @@ public function install(
2727 ?SessionStorage $ storage = null ,
2828 ?bool $ migrate = null ,
2929 ): void {
30+ /** @var null|SessionStorage $storage */
3031 $ storage ??= $ this ->console ->ask (
3132 question: 'Which session storage do you want to use? ' ,
3233 options: SessionStorage::class,
3334 default: SessionStorage::FILE ,
3435 );
3536
37+ if (! $ storage instanceof SessionStorage) {
38+ $ this ->console ->error ('Invalid session storage selected. ' );
39+ return ;
40+ }
41+
3642 $ cleanupStrategy = match ($ storage ) {
3743 SessionStorage::REDIS => null ,
3844 default => $ this ->resolveCleanupStrategy (),
@@ -67,7 +73,7 @@ public function install(
6773 }
6874 }
6975
70- private function resolveCleanupStrategy (): ? CleanupStrategy
76+ private function resolveCleanupStrategy (): CleanupStrategy
7177 {
7278 $ strategy = [
7379 'Random requests ' => CleanupStrategy::RANDOM_REQUESTS ,
@@ -84,13 +90,13 @@ private function resolveCleanupStrategy(): ?CleanupStrategy
8490 return $ strategy [$ result ];
8591 }
8692
87- private function resolveSessionConfigStub (SessionStorage $ sessionStrategy , ?CleanupStrategy $ cleanupStrategy ): string
93+ private function resolveSessionConfigStub (SessionStorage $ storage , ?CleanupStrategy $ cleanupStrategy ): string
8894 {
89- if ($ sessionStrategy === SessionStorage::REDIS ) {
95+ if ($ storage === SessionStorage::REDIS ) {
9096 return __DIR__ . '/session.redis.config.stub.php ' ;
9197 }
9298
93- return match ([$ sessionStrategy , $ cleanupStrategy ]) {
99+ return match ([$ storage , $ cleanupStrategy ]) {
94100 [SessionStorage::FILE , CleanupStrategy::EVERY_REQUEST ] => __DIR__ . '/session.file.every-request.config.stub.php ' ,
95101 [SessionStorage::FILE , CleanupStrategy::RANDOM_REQUESTS ] => __DIR__ . '/session.file.random-requests.config.stub.php ' ,
96102 [SessionStorage::FILE , CleanupStrategy::DISABLED ] => __DIR__ . '/session.file.disabled.config.stub.php ' ,
0 commit comments