GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Push — master ( 859d66...4f628a )
by やかみ
01:26
created

src/Http/Session/Redis.php (1 issue)

Labels

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
/**
3
 * Kotori.php
4
 *
5
 * A Tiny Model-View-Controller PHP Framework
6
 *
7
 * This content is released under the Apache 2 License
8
 *
9
 * Copyright (c) 2015-2017 Kotori Technology. All rights reserved.
10
 *
11
 * Licensed under the Apache License, Version 2.0 (the "License");
12
 * you may not use this file except in compliance with the License.
13
 * You may obtain a copy of the License at
14
 *
15
 *     http://www.apache.org/licenses/LICENSE-2.0
16
 *
17
 * Unless required by applicable law or agreed to in writing, software
18
 * distributed under the License is distributed on an "AS IS" BASIS,
19
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
 * See the License for the specific language governing permissions and
21
 * limitations under the License.
22
 */
23
24
/**
25
 * Memcached Session Class
26
 *
27
 * @package     Kotori
28
 * @subpackage  Session
29
 * @author      Kokororin
30
 * @link        https://kotori.love
31
 */
32
namespace Kotori\Http\Session;
33
34
use Kotori\Core\Cache\Redis as RedisDriver;
35
use SessionHandlerInterface;
36
37
class Redis implements SessionHandlerInterface
38
{
39
    /**
40
     * Default configuration
41
     *
42
     * @var array
43
     */
44
    protected $config = [
45
        'host' => '127.0.0.1',
46
        'port' => 6379,
47
        'password' => null,
48
        'database' => 0,
49
        'expire' => 3600,
50
        'timeout' => 0,
51
        'prefix' => '',
52
    ];
53
54
    /**
55
     * Class constructor
56
     *
57
     * Setup Redis
58
     *
59
     * @param  array $config
60
     * @return void
61
     */
62
    public function __construct($config = [])
63
    {
64
        $this->config = array_merge($this->config, $config);
65
    }
66
67
    /**
68
     * Open session
69
     *
70
     * @param  string    $savePath
71
     * @param  mixed     $sessName
72
     * @return boolean
73
     */
74
    // @codingStandardsIgnoreStart
75
    public function open($savePath, $sessName)
76
    {
77
        $this->redisDriver = new RedisDriver($this->config);
0 ignored issues
show
The property redisDriver does not exist. Did you maybe forget to declare it?

In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:

class MyClass { }

$x = new MyClass();
$x->foo = true;

Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:

class MyClass {
    public $foo;
}

$x = new MyClass();
$x->foo = true;
Loading history...
78
        return true;
79
    }
80
    // @codingStandardsIgnoreEnd
81
82
    /**
83
     * Close session
84
     *
85
     * @return boolean
86
     */
87
    public function close()
88
    {
89
        $this->gc(ini_get('session.gc_maxlifetime'));
90
        $this->redisDriver = null;
91
        return true;
92
    }
93
94
    /**
95
     * Read session
96
     *
97
     * @param  string $sessID
98
     * @return string
99
     */
100
    public function read($sessID)
101
    {
102
        return (string) $this->redisDriver->get($this->config['prefix'] . $sessID);
103
    }
104
105
    /**
106
     * Write session
107
     *
108
     * @param string $sessID
109
     * @param String $sessData
110
     * @return boolean
111
     */
112
    public function write($sessID, $sessData)
113
    {
114
        return $this->redisDriver->set($this->config['prefix'] . $sessID, $sessData, $this->config['expire']);
115
    }
116
117
    /**
118
     * Delete session
119
     *
120
     * @param  string $sessID
121
     * @return boolean
122
     */
123
    public function destroy($sessID)
124
    {
125
        return $this->redisDriver->delete($this->config['prefix'] . $sessID);
126
    }
127
128
    /**
129
     * do garbage collection
130
     *
131
     * @param  string $sessMaxLifeTime
132
     * @return boolean
133
     */
134
    public function gc($sessMaxLifeTime)
135
    {
136
        return true;
137
    }
138
}
139