Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
SessionOptions
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2
3declare(strict_types=1);
4
5namespace PeServer\Core\Store;
6
7use PeServer\Core\Text;
8use PeServer\Core\Store\CookieOptions;
9use PeServer\Core\Throws\ArgumentException;
10
11/**
12 * セッション設定。
13 */
14readonly class SessionOptions
15{
16    #region define
17
18    /** セッションID保持Cookie名。 */
19    public const DEFAULT_NAME = 'PHPSESSID';
20
21    #endregion
22
23    /**
24     * 生成。
25     *
26     * @param non-empty-string $name セッション名。
27     * @param string $savePath 保存場所。
28     * @param CookieOptions $cookie クッキー設定。
29     */
30    public function __construct(
31        public string $name,
32        public string $savePath,
33        public CookieOptions $cookie
34    ) {
35        if (Text::isNullOrWhiteSpace($name)) { //@phpstan-ignore-line [DOCTYPE]
36            throw new ArgumentException('$name');
37        }
38    }
39}