Test Failed
Push — master ( 6ab057...9e2699 )
by
unknown
23:26 queued 12:21
created
phpfastcache/phpfastcache/lib/Phpfastcache/Drivers/Cassandra/Driver.php 2 patches
Indentation   +253 added lines, -253 removed lines patch added patch discarded remove patch
@@ -36,72 +36,72 @@  discard block
 block discarded – undo
36 36
  */
37 37
 class Driver implements AggregatablePoolInterface
38 38
 {
39
-    use TaggableCacheItemPoolTrait;
40
-
41
-    protected const CASSANDRA_KEY_SPACE = 'phpfastcache';
42
-    protected const CASSANDRA_TABLE = 'cacheItems';
43
-
44
-    /**
45
-     * @return bool
46
-     */
47
-    public function driverCheck(): bool
48
-    {
49
-        return extension_loaded('Cassandra') && class_exists(Cassandra::class);
50
-    }
51
-
52
-    /**
53
-     * @return bool
54
-     * @throws PhpfastcacheLogicException
55
-     * @throws Exception
56
-     */
57
-    protected function driverConnect(): bool
58
-    {
59
-        $clientConfig = $this->getConfig();
60
-
61
-        $clusterBuilder = Cassandra::cluster()
62
-            ->withContactPoints($clientConfig->getHost())
63
-            ->withPort($clientConfig->getPort());
64
-
65
-        if (!empty($clientConfig->isSslEnabled())) {
66
-            $sslBuilder = Cassandra::ssl();
67
-            if (!empty($clientConfig->isSslVerify())) {
68
-                $sslBuilder->withVerifyFlags(Cassandra::VERIFY_PEER_CERT);
69
-            } else {
70
-                $sslBuilder->withVerifyFlags(Cassandra::VERIFY_NONE);
71
-            }
72
-
73
-            $clusterBuilder->withSSL($sslBuilder->build());
74
-        }
75
-
76
-        $clusterBuilder->withConnectTimeout($clientConfig->getTimeout());
77
-
78
-        if ($clientConfig->getUsername()) {
79
-            $clusterBuilder->withCredentials($clientConfig->getUsername(), $clientConfig->getPassword());
80
-        }
81
-
82
-        $this->instance = $clusterBuilder->build()->connect('');
83
-
84
-        /**
85
-         * In case of emergency:
86
-         * $this->instance->execute(
87
-         *      new Cassandra\SimpleStatement(\sprintf("DROP KEYSPACE %s;", self::CASSANDRA_KEY_SPACE))
88
-         * );
89
-         */
90
-
91
-        $this->instance->execute(
92
-            new Cassandra\SimpleStatement(
93
-                sprintf(
94
-                    "CREATE KEYSPACE IF NOT EXISTS %s WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };",
95
-                    self::CASSANDRA_KEY_SPACE
96
-                )
97
-            ),
98
-            []
99
-        );
100
-        $this->instance->execute(new Cassandra\SimpleStatement(sprintf('USE %s;', self::CASSANDRA_KEY_SPACE)), []);
101
-        $this->instance->execute(
102
-            new Cassandra\SimpleStatement(
103
-                sprintf(
104
-                    '
39
+	use TaggableCacheItemPoolTrait;
40
+
41
+	protected const CASSANDRA_KEY_SPACE = 'phpfastcache';
42
+	protected const CASSANDRA_TABLE = 'cacheItems';
43
+
44
+	/**
45
+	 * @return bool
46
+	 */
47
+	public function driverCheck(): bool
48
+	{
49
+		return extension_loaded('Cassandra') && class_exists(Cassandra::class);
50
+	}
51
+
52
+	/**
53
+	 * @return bool
54
+	 * @throws PhpfastcacheLogicException
55
+	 * @throws Exception
56
+	 */
57
+	protected function driverConnect(): bool
58
+	{
59
+		$clientConfig = $this->getConfig();
60
+
61
+		$clusterBuilder = Cassandra::cluster()
62
+			->withContactPoints($clientConfig->getHost())
63
+			->withPort($clientConfig->getPort());
64
+
65
+		if (!empty($clientConfig->isSslEnabled())) {
66
+			$sslBuilder = Cassandra::ssl();
67
+			if (!empty($clientConfig->isSslVerify())) {
68
+				$sslBuilder->withVerifyFlags(Cassandra::VERIFY_PEER_CERT);
69
+			} else {
70
+				$sslBuilder->withVerifyFlags(Cassandra::VERIFY_NONE);
71
+			}
72
+
73
+			$clusterBuilder->withSSL($sslBuilder->build());
74
+		}
75
+
76
+		$clusterBuilder->withConnectTimeout($clientConfig->getTimeout());
77
+
78
+		if ($clientConfig->getUsername()) {
79
+			$clusterBuilder->withCredentials($clientConfig->getUsername(), $clientConfig->getPassword());
80
+		}
81
+
82
+		$this->instance = $clusterBuilder->build()->connect('');
83
+
84
+		/**
85
+		 * In case of emergency:
86
+		 * $this->instance->execute(
87
+		 *      new Cassandra\SimpleStatement(\sprintf("DROP KEYSPACE %s;", self::CASSANDRA_KEY_SPACE))
88
+		 * );
89
+		 */
90
+
91
+		$this->instance->execute(
92
+			new Cassandra\SimpleStatement(
93
+				sprintf(
94
+					"CREATE KEYSPACE IF NOT EXISTS %s WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };",
95
+					self::CASSANDRA_KEY_SPACE
96
+				)
97
+			),
98
+			[]
99
+		);
100
+		$this->instance->execute(new Cassandra\SimpleStatement(sprintf('USE %s;', self::CASSANDRA_KEY_SPACE)), []);
101
+		$this->instance->execute(
102
+			new Cassandra\SimpleStatement(
103
+				sprintf(
104
+					'
105 105
                 CREATE TABLE IF NOT EXISTS %s (
106 106
                     cache_uuid uuid,
107 107
                     cache_id varchar,
@@ -111,72 +111,72 @@  discard block
 block discarded – undo
111 111
                     cache_length int,
112 112
                     PRIMARY KEY (cache_id)
113 113
                 );',
114
-                    self::CASSANDRA_TABLE
115
-                )
116
-            ),
117
-            []
118
-        );
119
-
120
-        return true;
121
-    }
122
-
123
-    /**
124
-     * @param ExtendedCacheItemInterface $item
125
-     * @return ?array<string, mixed>
126
-     */
127
-    protected function driverRead(ExtendedCacheItemInterface $item): ?array
128
-    {
129
-        try {
130
-            $options = $this->getCompatibleExecutionOptionsArgument(
131
-                [
132
-                    'arguments' => ['cache_id' => $item->getKey()],
133
-                    'page_size' => 1,
134
-                ]
135
-            );
136
-            $query = sprintf(
137
-                'SELECT cache_data FROM %s.%s WHERE cache_id = :cache_id;',
138
-                self::CASSANDRA_KEY_SPACE,
139
-                self::CASSANDRA_TABLE
140
-            );
141
-            $results = $this->instance->execute(new Cassandra\SimpleStatement($query), $options);
142
-
143
-            if ($results instanceof Cassandra\Rows && $results->count() === 1) {
144
-                return $this->decode($results->first()['cache_data']) ?: null;
145
-            }
146
-
147
-            return null;
148
-        } catch (Exception $e) {
149
-            return null;
150
-        }
151
-    }
152
-
153
-    /**
154
-     * @param ExtendedCacheItemInterface $item
155
-     * @return bool
156
-     * @throws PhpfastcacheInvalidArgumentException
157
-     */
158
-    protected function driverWrite(ExtendedCacheItemInterface $item): bool
159
-    {
160
-
161
-        try {
162
-            $cacheData = $this->encode($this->driverPreWrap($item));
163
-            $options = $this->getCompatibleExecutionOptionsArgument(
164
-                [
165
-                    'arguments' => [
166
-                        'cache_uuid' => new Cassandra\Uuid(''),
167
-                        'cache_id' => $item->getKey(),
168
-                        'cache_data' => $cacheData,
169
-                        'cache_creation_date' => new Cassandra\Timestamp((new DateTime())->getTimestamp(), 0),
170
-                        'cache_expiration_date' => new Cassandra\Timestamp($item->getExpirationDate()->getTimestamp(), 0),
171
-                        'cache_length' => strlen($cacheData),
172
-                    ],
173
-                    'consistency' => Cassandra::CONSISTENCY_ALL,
174
-                    'serial_consistency' => Cassandra::CONSISTENCY_SERIAL,
175
-                ]
176
-            );
177
-
178
-            $query = sprintf(
179
-                'INSERT INTO %s.%s
114
+					self::CASSANDRA_TABLE
115
+				)
116
+			),
117
+			[]
118
+		);
119
+
120
+		return true;
121
+	}
122
+
123
+	/**
124
+	 * @param ExtendedCacheItemInterface $item
125
+	 * @return ?array<string, mixed>
126
+	 */
127
+	protected function driverRead(ExtendedCacheItemInterface $item): ?array
128
+	{
129
+		try {
130
+			$options = $this->getCompatibleExecutionOptionsArgument(
131
+				[
132
+					'arguments' => ['cache_id' => $item->getKey()],
133
+					'page_size' => 1,
134
+				]
135
+			);
136
+			$query = sprintf(
137
+				'SELECT cache_data FROM %s.%s WHERE cache_id = :cache_id;',
138
+				self::CASSANDRA_KEY_SPACE,
139
+				self::CASSANDRA_TABLE
140
+			);
141
+			$results = $this->instance->execute(new Cassandra\SimpleStatement($query), $options);
142
+
143
+			if ($results instanceof Cassandra\Rows && $results->count() === 1) {
144
+				return $this->decode($results->first()['cache_data']) ?: null;
145
+			}
146
+
147
+			return null;
148
+		} catch (Exception $e) {
149
+			return null;
150
+		}
151
+	}
152
+
153
+	/**
154
+	 * @param ExtendedCacheItemInterface $item
155
+	 * @return bool
156
+	 * @throws PhpfastcacheInvalidArgumentException
157
+	 */
158
+	protected function driverWrite(ExtendedCacheItemInterface $item): bool
159
+	{
160
+
161
+		try {
162
+			$cacheData = $this->encode($this->driverPreWrap($item));
163
+			$options = $this->getCompatibleExecutionOptionsArgument(
164
+				[
165
+					'arguments' => [
166
+						'cache_uuid' => new Cassandra\Uuid(''),
167
+						'cache_id' => $item->getKey(),
168
+						'cache_data' => $cacheData,
169
+						'cache_creation_date' => new Cassandra\Timestamp((new DateTime())->getTimestamp(), 0),
170
+						'cache_expiration_date' => new Cassandra\Timestamp($item->getExpirationDate()->getTimestamp(), 0),
171
+						'cache_length' => strlen($cacheData),
172
+					],
173
+					'consistency' => Cassandra::CONSISTENCY_ALL,
174
+					'serial_consistency' => Cassandra::CONSISTENCY_SERIAL,
175
+				]
176
+			);
177
+
178
+			$query = sprintf(
179
+				'INSERT INTO %s.%s
180 180
                     (
181 181
                       cache_uuid, 
182 182
                       cache_id, 
@@ -187,89 +187,89 @@  discard block
 block discarded – undo
187 187
                     )
188 188
                   VALUES (:cache_uuid, :cache_id, :cache_data, :cache_creation_date, :cache_expiration_date, :cache_length);
189 189
             ',
190
-                self::CASSANDRA_KEY_SPACE,
191
-                self::CASSANDRA_TABLE
192
-            );
193
-
194
-            $result = $this->instance->execute(new Cassandra\SimpleStatement($query), $options);
195
-            /**
196
-             * There's no real way atm
197
-             * to know if the item has
198
-             * been really upserted
199
-             */
200
-            return $result instanceof Cassandra\Rows;
201
-        } catch (InvalidArgumentException $e) {
202
-            throw new PhpfastcacheInvalidArgumentException($e->getMessage(), 0, $e);
203
-        }
204
-    }
205
-
206
-    /**
207
-     * @param string $key
208
-     * @param string $encodedKey
209
-     * @return bool
210
-     */
211
-    protected function driverDelete(string $key, string $encodedKey): bool
212
-    {
213
-
214
-        try {
215
-            $options = $this->getCompatibleExecutionOptionsArgument(
216
-                [
217
-                    'arguments' => [
218
-                        'cache_id' => $key,
219
-                    ],
220
-                ]
221
-            );
222
-            $result = $this->instance->execute(
223
-                new Cassandra\SimpleStatement(
224
-                    sprintf(
225
-                        'DELETE FROM %s.%s WHERE cache_id = :cache_id;',
226
-                        self::CASSANDRA_KEY_SPACE,
227
-                        self::CASSANDRA_TABLE
228
-                    )
229
-                ),
230
-                $options
231
-            );
232
-
233
-            /**
234
-             * There's no real way atm
235
-             * to know if the item has
236
-             * been really deleted
237
-             */
238
-            return $result instanceof Cassandra\Rows;
239
-        } catch (Exception $e) {
240
-            return false;
241
-        }
242
-    }
243
-
244
-    /**
245
-     * @return bool
246
-     */
247
-    protected function driverClear(): bool
248
-    {
249
-        try {
250
-            $this->instance->execute(
251
-                new Cassandra\SimpleStatement(
252
-                    sprintf(
253
-                        'TRUNCATE %s.%s;',
254
-                        self::CASSANDRA_KEY_SPACE,
255
-                        self::CASSANDRA_TABLE
256
-                    )
257
-                ),
258
-                null
259
-            );
260
-
261
-            return true;
262
-        } catch (Exception) {
263
-            return false;
264
-        }
265
-    }
266
-
267
-    /**
268
-     * @return string
269
-     */
270
-    public function getHelp(): string
271
-    {
272
-        return <<<HELP
190
+				self::CASSANDRA_KEY_SPACE,
191
+				self::CASSANDRA_TABLE
192
+			);
193
+
194
+			$result = $this->instance->execute(new Cassandra\SimpleStatement($query), $options);
195
+			/**
196
+			 * There's no real way atm
197
+			 * to know if the item has
198
+			 * been really upserted
199
+			 */
200
+			return $result instanceof Cassandra\Rows;
201
+		} catch (InvalidArgumentException $e) {
202
+			throw new PhpfastcacheInvalidArgumentException($e->getMessage(), 0, $e);
203
+		}
204
+	}
205
+
206
+	/**
207
+	 * @param string $key
208
+	 * @param string $encodedKey
209
+	 * @return bool
210
+	 */
211
+	protected function driverDelete(string $key, string $encodedKey): bool
212
+	{
213
+
214
+		try {
215
+			$options = $this->getCompatibleExecutionOptionsArgument(
216
+				[
217
+					'arguments' => [
218
+						'cache_id' => $key,
219
+					],
220
+				]
221
+			);
222
+			$result = $this->instance->execute(
223
+				new Cassandra\SimpleStatement(
224
+					sprintf(
225
+						'DELETE FROM %s.%s WHERE cache_id = :cache_id;',
226
+						self::CASSANDRA_KEY_SPACE,
227
+						self::CASSANDRA_TABLE
228
+					)
229
+				),
230
+				$options
231
+			);
232
+
233
+			/**
234
+			 * There's no real way atm
235
+			 * to know if the item has
236
+			 * been really deleted
237
+			 */
238
+			return $result instanceof Cassandra\Rows;
239
+		} catch (Exception $e) {
240
+			return false;
241
+		}
242
+	}
243
+
244
+	/**
245
+	 * @return bool
246
+	 */
247
+	protected function driverClear(): bool
248
+	{
249
+		try {
250
+			$this->instance->execute(
251
+				new Cassandra\SimpleStatement(
252
+					sprintf(
253
+						'TRUNCATE %s.%s;',
254
+						self::CASSANDRA_KEY_SPACE,
255
+						self::CASSANDRA_TABLE
256
+					)
257
+				),
258
+				null
259
+			);
260
+
261
+			return true;
262
+		} catch (Exception) {
263
+			return false;
264
+		}
265
+	}
266
+
267
+	/**
268
+	 * @return string
269
+	 */
270
+	public function getHelp(): string
271
+	{
272
+		return <<<HELP
273 273
 <p>
274 274
 To install the php Cassandra extension via Pecl:
275 275
 <code>sudo pecl install cassandra</code>
@@ -277,42 +277,42 @@  discard block
 block discarded – undo
277 277
 Please note that this repository only provide php stubs and C/C++ sources, it does NOT provide php client.
278 278
 </p>
279 279
 HELP;
280
-    }
281
-
282
-    /**
283
-     * @return DriverStatistic
284
-     * @throws Exception
285
-     */
286
-    public function getStats(): DriverStatistic
287
-    {
288
-        $result = $this->instance->execute(
289
-            new Cassandra\SimpleStatement(
290
-                sprintf(
291
-                    'SELECT SUM(cache_length) as cache_size FROM %s.%s',
292
-                    self::CASSANDRA_KEY_SPACE,
293
-                    self::CASSANDRA_TABLE
294
-                )
295
-            ),
296
-            null
297
-        );
298
-
299
-        return (new DriverStatistic())
300
-            ->setSize($result->first()['cache_size'])
301
-            ->setRawData([])
302
-            ->setData(implode(', ', array_keys($this->itemInstances)))
303
-            ->setInfo('The cache size represents only the cache data itself without counting data structures associated to the cache entries.');
304
-    }
305
-
306
-    /**
307
-     * @param array<string, mixed> $options
308
-     * @return array<string, mixed>|Cassandra\ExecutionOptions
309
-     */
310
-    protected function getCompatibleExecutionOptionsArgument(array $options): mixed
311
-    {
312
-        if ($this->getConfig()->isUseLegacyExecutionOptions()) {
313
-            return new Cassandra\ExecutionOptions($options);
314
-        }
315
-
316
-        return $options;
317
-    }
280
+	}
281
+
282
+	/**
283
+	 * @return DriverStatistic
284
+	 * @throws Exception
285
+	 */
286
+	public function getStats(): DriverStatistic
287
+	{
288
+		$result = $this->instance->execute(
289
+			new Cassandra\SimpleStatement(
290
+				sprintf(
291
+					'SELECT SUM(cache_length) as cache_size FROM %s.%s',
292
+					self::CASSANDRA_KEY_SPACE,
293
+					self::CASSANDRA_TABLE
294
+				)
295
+			),
296
+			null
297
+		);
298
+
299
+		return (new DriverStatistic())
300
+			->setSize($result->first()['cache_size'])
301
+			->setRawData([])
302
+			->setData(implode(', ', array_keys($this->itemInstances)))
303
+			->setInfo('The cache size represents only the cache data itself without counting data structures associated to the cache entries.');
304
+	}
305
+
306
+	/**
307
+	 * @param array<string, mixed> $options
308
+	 * @return array<string, mixed>|Cassandra\ExecutionOptions
309
+	 */
310
+	protected function getCompatibleExecutionOptionsArgument(array $options): mixed
311
+	{
312
+		if ($this->getConfig()->isUseLegacyExecutionOptions()) {
313
+			return new Cassandra\ExecutionOptions($options);
314
+		}
315
+
316
+		return $options;
317
+	}
318 318
 }
Please login to merge, or discard this patch.
Braces   +10 added lines, -5 removed lines patch added patch discarded remove patch
@@ -66,7 +66,8 @@  discard block
 block discarded – undo
66 66
             $sslBuilder = Cassandra::ssl();
67 67
             if (!empty($clientConfig->isSslVerify())) {
68 68
                 $sslBuilder->withVerifyFlags(Cassandra::VERIFY_PEER_CERT);
69
-            } else {
69
+            }
70
+            else {
70 71
                 $sslBuilder->withVerifyFlags(Cassandra::VERIFY_NONE);
71 72
             }
72 73
 
@@ -145,7 +146,8 @@  discard block
 block discarded – undo
145 146
             }
146 147
 
147 148
             return null;
148
-        } catch (Exception $e) {
149
+        }
150
+        catch (Exception $e) {
149 151
             return null;
150 152
         }
151 153
     }
@@ -198,7 +200,8 @@  discard block
 block discarded – undo
198 200
              * been really upserted
199 201
              */
200 202
             return $result instanceof Cassandra\Rows;
201
-        } catch (InvalidArgumentException $e) {
203
+        }
204
+        catch (InvalidArgumentException $e) {
202 205
             throw new PhpfastcacheInvalidArgumentException($e->getMessage(), 0, $e);
203 206
         }
204 207
     }
@@ -236,7 +239,8 @@  discard block
 block discarded – undo
236 239
              * been really deleted
237 240
              */
238 241
             return $result instanceof Cassandra\Rows;
239
-        } catch (Exception $e) {
242
+        }
243
+        catch (Exception $e) {
240 244
             return false;
241 245
         }
242 246
     }
@@ -259,7 +263,8 @@  discard block
 block discarded – undo
259 263
             );
260 264
 
261 265
             return true;
262
-        } catch (Exception) {
266
+        }
267
+        catch (Exception) {
263 268
             return false;
264 269
         }
265 270
     }
Please login to merge, or discard this patch.
phpfastcache/phpfastcache/lib/Phpfastcache/Drivers/Cassandra/Config.php 1 patch
Indentation   +148 added lines, -148 removed lines patch added patch discarded remove patch
@@ -21,152 +21,152 @@
 block discarded – undo
21 21
 
22 22
 class Config extends ConfigurationOption
23 23
 {
24
-    protected string $host = '127.0.0.1';
25
-
26
-    protected int $port = 9042;
27
-
28
-    protected int $timeout = 2;
29
-
30
-    protected string $username = '';
31
-
32
-    protected string $password = '';
33
-
34
-    protected bool $sslEnabled = false;
35
-
36
-    protected bool $sslVerify = false;
37
-
38
-    protected bool $useLegacyExecutionOptions = false;
39
-
40
-    public function getHost(): string
41
-    {
42
-        return $this->host;
43
-    }
44
-
45
-    /**
46
-     * @param string $host
47
-     * @throws PhpfastcacheLogicException
48
-     */
49
-    public function setHost(string $host): static
50
-    {
51
-        return $this->setProperty('host', $host);
52
-    }
53
-
54
-    /**
55
-     * @return int
56
-     */
57
-    public function getPort(): int
58
-    {
59
-        return $this->port;
60
-    }
61
-
62
-    /**
63
-     * @param int $port
64
-     * @throws PhpfastcacheLogicException
65
-     */
66
-    public function setPort(int $port): static
67
-    {
68
-        return $this->setProperty('port', $port);
69
-    }
70
-
71
-    /**
72
-     * @return int
73
-     */
74
-    public function getTimeout(): int
75
-    {
76
-        return $this->timeout;
77
-    }
78
-
79
-    /**
80
-     * @param int $timeout
81
-     * @throws PhpfastcacheLogicException
82
-     */
83
-    public function setTimeout(int $timeout): static
84
-    {
85
-        return $this->setProperty('timeout', $timeout);
86
-    }
87
-
88
-    /**
89
-     * @return string
90
-     */
91
-    public function getUsername(): string
92
-    {
93
-        return $this->username;
94
-    }
95
-
96
-    /**
97
-     * @param string $username
98
-     * @throws PhpfastcacheLogicException
99
-     */
100
-    public function setUsername(string $username): static
101
-    {
102
-        return $this->setProperty('username', $username);
103
-    }
104
-
105
-    /**
106
-     * @return string
107
-     */
108
-    public function getPassword(): string
109
-    {
110
-        return $this->password;
111
-    }
112
-
113
-    /**
114
-     * @param string $password
115
-     * @throws PhpfastcacheLogicException
116
-     */
117
-    public function setPassword(string $password): static
118
-    {
119
-        return $this->setProperty('password', $password);
120
-    }
121
-
122
-    /**
123
-     * @return bool
124
-     */
125
-    public function isSslEnabled(): bool
126
-    {
127
-        return $this->sslEnabled;
128
-    }
129
-
130
-    /**
131
-     * @param bool $sslEnabled
132
-     * @throws PhpfastcacheLogicException
133
-     */
134
-    public function setSslEnabled(bool $sslEnabled): static
135
-    {
136
-        return $this->setProperty('sslEnabled', $sslEnabled);
137
-    }
138
-
139
-    /**
140
-     * @return bool
141
-     */
142
-    public function isSslVerify(): bool
143
-    {
144
-        return $this->sslVerify;
145
-    }
146
-
147
-    /**
148
-     * @param bool $sslVerify
149
-     * @throws PhpfastcacheLogicException
150
-     */
151
-    public function setSslVerify(bool $sslVerify): static
152
-    {
153
-        return $this->setProperty('sslVerify', $sslVerify);
154
-    }
155
-
156
-    /**
157
-     * @return bool
158
-     */
159
-    public function isUseLegacyExecutionOptions(): bool
160
-    {
161
-        return $this->useLegacyExecutionOptions;
162
-    }
163
-
164
-    /**
165
-     * @param bool $useLegacyExecutionOptions
166
-     * @throws PhpfastcacheLogicException
167
-     */
168
-    public function setUseLegacyExecutionOptions(bool $useLegacyExecutionOptions): static
169
-    {
170
-        return $this->setProperty('useLegacyExecutionOptions', $useLegacyExecutionOptions);
171
-    }
24
+	protected string $host = '127.0.0.1';
25
+
26
+	protected int $port = 9042;
27
+
28
+	protected int $timeout = 2;
29
+
30
+	protected string $username = '';
31
+
32
+	protected string $password = '';
33
+
34
+	protected bool $sslEnabled = false;
35
+
36
+	protected bool $sslVerify = false;
37
+
38
+	protected bool $useLegacyExecutionOptions = false;
39
+
40
+	public function getHost(): string
41
+	{
42
+		return $this->host;
43
+	}
44
+
45
+	/**
46
+	 * @param string $host
47
+	 * @throws PhpfastcacheLogicException
48
+	 */
49
+	public function setHost(string $host): static
50
+	{
51
+		return $this->setProperty('host', $host);
52
+	}
53
+
54
+	/**
55
+	 * @return int
56
+	 */
57
+	public function getPort(): int
58
+	{
59
+		return $this->port;
60
+	}
61
+
62
+	/**
63
+	 * @param int $port
64
+	 * @throws PhpfastcacheLogicException
65
+	 */
66
+	public function setPort(int $port): static
67
+	{
68
+		return $this->setProperty('port', $port);
69
+	}
70
+
71
+	/**
72
+	 * @return int
73
+	 */
74
+	public function getTimeout(): int
75
+	{
76
+		return $this->timeout;
77
+	}
78
+
79
+	/**
80
+	 * @param int $timeout
81
+	 * @throws PhpfastcacheLogicException
82
+	 */
83
+	public function setTimeout(int $timeout): static
84
+	{
85
+		return $this->setProperty('timeout', $timeout);
86
+	}
87
+
88
+	/**
89
+	 * @return string
90
+	 */
91
+	public function getUsername(): string
92
+	{
93
+		return $this->username;
94
+	}
95
+
96
+	/**
97
+	 * @param string $username
98
+	 * @throws PhpfastcacheLogicException
99
+	 */
100
+	public function setUsername(string $username): static
101
+	{
102
+		return $this->setProperty('username', $username);
103
+	}
104
+
105
+	/**
106
+	 * @return string
107
+	 */
108
+	public function getPassword(): string
109
+	{
110
+		return $this->password;
111
+	}
112
+
113
+	/**
114
+	 * @param string $password
115
+	 * @throws PhpfastcacheLogicException
116
+	 */
117
+	public function setPassword(string $password): static
118
+	{
119
+		return $this->setProperty('password', $password);
120
+	}
121
+
122
+	/**
123
+	 * @return bool
124
+	 */
125
+	public function isSslEnabled(): bool
126
+	{
127
+		return $this->sslEnabled;
128
+	}
129
+
130
+	/**
131
+	 * @param bool $sslEnabled
132
+	 * @throws PhpfastcacheLogicException
133
+	 */
134
+	public function setSslEnabled(bool $sslEnabled): static
135
+	{
136
+		return $this->setProperty('sslEnabled', $sslEnabled);
137
+	}
138
+
139
+	/**
140
+	 * @return bool
141
+	 */
142
+	public function isSslVerify(): bool
143
+	{
144
+		return $this->sslVerify;
145
+	}
146
+
147
+	/**
148
+	 * @param bool $sslVerify
149
+	 * @throws PhpfastcacheLogicException
150
+	 */
151
+	public function setSslVerify(bool $sslVerify): static
152
+	{
153
+		return $this->setProperty('sslVerify', $sslVerify);
154
+	}
155
+
156
+	/**
157
+	 * @return bool
158
+	 */
159
+	public function isUseLegacyExecutionOptions(): bool
160
+	{
161
+		return $this->useLegacyExecutionOptions;
162
+	}
163
+
164
+	/**
165
+	 * @param bool $useLegacyExecutionOptions
166
+	 * @throws PhpfastcacheLogicException
167
+	 */
168
+	public function setUseLegacyExecutionOptions(bool $useLegacyExecutionOptions): static
169
+	{
170
+		return $this->setProperty('useLegacyExecutionOptions', $useLegacyExecutionOptions);
171
+	}
172 172
 }
Please login to merge, or discard this patch.
phpfastcache/phpfastcache/lib/Phpfastcache/Drivers/Zenddisk/Driver.php 2 patches
Indentation   +84 added lines, -84 removed lines patch added patch discarded remove patch
@@ -29,92 +29,92 @@
 block discarded – undo
29 29
  */
30 30
 class Driver implements AggregatablePoolInterface
31 31
 {
32
-    use TaggableCacheItemPoolTrait;
33
-
34
-    /**
35
-     * @return bool
36
-     */
37
-    public function driverCheck(): bool
38
-    {
39
-        return extension_loaded('Zend Data Cache') && function_exists('zend_disk_cache_store');
40
-    }
41
-
42
-    /**
43
-     * @return string
44
-     */
45
-    public function getHelp(): string
46
-    {
47
-        return <<<HELP
32
+	use TaggableCacheItemPoolTrait;
33
+
34
+	/**
35
+	 * @return bool
36
+	 */
37
+	public function driverCheck(): bool
38
+	{
39
+		return extension_loaded('Zend Data Cache') && function_exists('zend_disk_cache_store');
40
+	}
41
+
42
+	/**
43
+	 * @return string
44
+	 */
45
+	public function getHelp(): string
46
+	{
47
+		return <<<HELP
48 48
 <p>
49 49
 This driver rely on Zend Server 8.5+, see: https://www.zend.com/products/zend-server
50 50
 </p>
51 51
 HELP;
52
-    }
53
-
54
-    /**
55
-     * @return DriverStatistic
56
-     */
57
-    public function getStats(): DriverStatistic
58
-    {
59
-        $stat = new DriverStatistic();
60
-        $stat->setInfo('[ZendDisk] A void info string')
61
-            ->setSize(0)
62
-            ->setData(implode(', ', array_keys($this->itemInstances)))
63
-            ->setRawData(false);
64
-
65
-        return $stat;
66
-    }
67
-
68
-    /**
69
-     * @return bool
70
-     */
71
-    protected function driverConnect(): bool
72
-    {
73
-        return true;
74
-    }
75
-
76
-    /**
77
-     * @param ExtendedCacheItemInterface $item
78
-     * @return ?array<string, mixed>
79
-     */
80
-    protected function driverRead(ExtendedCacheItemInterface $item): ?array
81
-    {
82
-        $data = zend_disk_cache_fetch($item->getKey());
83
-
84
-        if (empty($data) || !\is_array($data)) {
85
-            return null;
86
-        }
87
-
88
-        return $data;
89
-    }
90
-
91
-    /**
92
-     * @param ExtendedCacheItemInterface $item
93
-     * @return mixed
94
-     * @throws PhpfastcacheInvalidArgumentException
95
-     */
96
-    protected function driverWrite(ExtendedCacheItemInterface $item): bool
97
-    {
98
-
99
-        $ttl = $item->getExpirationDate()->getTimestamp() - time();
100
-
101
-        return zend_disk_cache_store($item->getKey(), $this->driverPreWrap($item), ($ttl > 0 ? $ttl : 0));
102
-    }
103
-
104
-    /**
105
-     * @param string $key
106
-     * @param string $encodedKey
107
-     * @return bool
108
-     */
109
-    protected function driverDelete(string $key, string $encodedKey): bool
110
-    {
111
-
112
-        return (bool)zend_disk_cache_delete($key);
113
-    }
114
-
115
-
116
-    protected function driverClear(): bool
117
-    {
118
-        return @zend_disk_cache_clear();
119
-    }
52
+	}
53
+
54
+	/**
55
+	 * @return DriverStatistic
56
+	 */
57
+	public function getStats(): DriverStatistic
58
+	{
59
+		$stat = new DriverStatistic();
60
+		$stat->setInfo('[ZendDisk] A void info string')
61
+			->setSize(0)
62
+			->setData(implode(', ', array_keys($this->itemInstances)))
63
+			->setRawData(false);
64
+
65
+		return $stat;
66
+	}
67
+
68
+	/**
69
+	 * @return bool
70
+	 */
71
+	protected function driverConnect(): bool
72
+	{
73
+		return true;
74
+	}
75
+
76
+	/**
77
+	 * @param ExtendedCacheItemInterface $item
78
+	 * @return ?array<string, mixed>
79
+	 */
80
+	protected function driverRead(ExtendedCacheItemInterface $item): ?array
81
+	{
82
+		$data = zend_disk_cache_fetch($item->getKey());
83
+
84
+		if (empty($data) || !\is_array($data)) {
85
+			return null;
86
+		}
87
+
88
+		return $data;
89
+	}
90
+
91
+	/**
92
+	 * @param ExtendedCacheItemInterface $item
93
+	 * @return mixed
94
+	 * @throws PhpfastcacheInvalidArgumentException
95
+	 */
96
+	protected function driverWrite(ExtendedCacheItemInterface $item): bool
97
+	{
98
+
99
+		$ttl = $item->getExpirationDate()->getTimestamp() - time();
100
+
101
+		return zend_disk_cache_store($item->getKey(), $this->driverPreWrap($item), ($ttl > 0 ? $ttl : 0));
102
+	}
103
+
104
+	/**
105
+	 * @param string $key
106
+	 * @param string $encodedKey
107
+	 * @return bool
108
+	 */
109
+	protected function driverDelete(string $key, string $encodedKey): bool
110
+	{
111
+
112
+		return (bool)zend_disk_cache_delete($key);
113
+	}
114
+
115
+
116
+	protected function driverClear(): bool
117
+	{
118
+		return @zend_disk_cache_clear();
119
+	}
120 120
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -109,7 +109,7 @@
 block discarded – undo
109 109
     protected function driverDelete(string $key, string $encodedKey): bool
110 110
     {
111 111
 
112
-        return (bool)zend_disk_cache_delete($key);
112
+        return (bool) zend_disk_cache_delete($key);
113 113
     }
114 114
 
115 115
 
Please login to merge, or discard this patch.
phpfastcache/phpfastcache/lib/Phpfastcache/Drivers/Leveldb/Driver.php 3 patches
Indentation   +100 added lines, -100 removed lines patch added patch discarded remove patch
@@ -32,104 +32,104 @@
 block discarded – undo
32 32
  */
33 33
 class Driver implements AggregatablePoolInterface
34 34
 {
35
-    use IOHelperTrait;
36
-
37
-    protected const LEVELDB_FILENAME = '.database';
38
-
39
-    /**
40
-     * @return bool
41
-     */
42
-    public function driverCheck(): bool
43
-    {
44
-        return extension_loaded('Leveldb');
45
-    }
46
-
47
-    /**
48
-     * Close connection on destruct
49
-     */
50
-    public function __destruct()
51
-    {
52
-        if ($this->instance instanceof LeveldbClient) {
53
-            $this->instance->close();
54
-            $this->instance = null;
55
-        }
56
-    }
57
-
58
-    /**
59
-     * @param ExtendedCacheItemInterface $item
60
-     * @return ?array<string, mixed>
61
-     */
62
-    protected function driverRead(ExtendedCacheItemInterface $item): ?array
63
-    {
64
-        $val = $this->instance->get($item->getKey());
65
-        if (!$val) {
66
-            return null;
67
-        }
68
-
69
-        return $this->decode($val);
70
-    }
71
-
72
-    /**
73
-     * @param ExtendedCacheItemInterface $item
74
-     * @return bool
75
-     * @throws PhpfastcacheInvalidArgumentException
76
-     * @throws PhpfastcacheLogicException
77
-     */
78
-    protected function driverWrite(ExtendedCacheItemInterface $item): bool
79
-    {
80
-
81
-        return (bool)$this->instance->set($item->getKey(), $this->encode($this->driverPreWrap($item)));
82
-    }
83
-
84
-    /**
85
-     * @param string $key
86
-     * @param string $encodedKey
87
-     * @return bool
88
-     */
89
-    protected function driverDelete(string $key, string $encodedKey): bool
90
-    {
91
-        return $this->instance->delete($key);
92
-    }
93
-
94
-    /**
95
-     * @return bool
96
-     * @throws PhpfastcacheCoreException
97
-     * @throws PhpfastcacheLogicException
98
-     */
99
-    protected function driverClear(): bool
100
-    {
101
-        if ($this->instance instanceof LeveldbClient) {
102
-            $this->instance->close();
103
-            $this->instance = null;
104
-        }
105
-        $result = LeveldbClient::destroy($this->getLeveldbFile());
106
-        $this->driverConnect();
107
-
108
-        return $result;
109
-    }
110
-
111
-    /**
112
-     * @return string
113
-     * @throws PhpfastcacheCoreException
114
-     */
115
-    public function getLeveldbFile(): string
116
-    {
117
-        return $this->getPath() . '/' . self::LEVELDB_FILENAME;
118
-    }
119
-
120
-    /**
121
-     * @return bool
122
-     * @throws PhpfastcacheCoreException
123
-     * @throws PhpfastcacheLogicException
124
-     */
125
-    protected function driverConnect(): bool
126
-    {
127
-        if ($this->instance instanceof LeveldbClient) {
128
-            throw new PhpfastcacheLogicException('Already connected to Leveldb database');
129
-        }
130
-
131
-        $this->instance = new LeveldbClient($this->getLeveldbFile());
132
-
133
-        return true;
134
-    }
35
+	use IOHelperTrait;
36
+
37
+	protected const LEVELDB_FILENAME = '.database';
38
+
39
+	/**
40
+	 * @return bool
41
+	 */
42
+	public function driverCheck(): bool
43
+	{
44
+		return extension_loaded('Leveldb');
45
+	}
46
+
47
+	/**
48
+	 * Close connection on destruct
49
+	 */
50
+	public function __destruct()
51
+	{
52
+		if ($this->instance instanceof LeveldbClient) {
53
+			$this->instance->close();
54
+			$this->instance = null;
55
+		}
56
+	}
57
+
58
+	/**
59
+	 * @param ExtendedCacheItemInterface $item
60
+	 * @return ?array<string, mixed>
61
+	 */
62
+	protected function driverRead(ExtendedCacheItemInterface $item): ?array
63
+	{
64
+		$val = $this->instance->get($item->getKey());
65
+		if (!$val) {
66
+			return null;
67
+		}
68
+
69
+		return $this->decode($val);
70
+	}
71
+
72
+	/**
73
+	 * @param ExtendedCacheItemInterface $item
74
+	 * @return bool
75
+	 * @throws PhpfastcacheInvalidArgumentException
76
+	 * @throws PhpfastcacheLogicException
77
+	 */
78
+	protected function driverWrite(ExtendedCacheItemInterface $item): bool
79
+	{
80
+
81
+		return (bool)$this->instance->set($item->getKey(), $this->encode($this->driverPreWrap($item)));
82
+	}
83
+
84
+	/**
85
+	 * @param string $key
86
+	 * @param string $encodedKey
87
+	 * @return bool
88
+	 */
89
+	protected function driverDelete(string $key, string $encodedKey): bool
90
+	{
91
+		return $this->instance->delete($key);
92
+	}
93
+
94
+	/**
95
+	 * @return bool
96
+	 * @throws PhpfastcacheCoreException
97
+	 * @throws PhpfastcacheLogicException
98
+	 */
99
+	protected function driverClear(): bool
100
+	{
101
+		if ($this->instance instanceof LeveldbClient) {
102
+			$this->instance->close();
103
+			$this->instance = null;
104
+		}
105
+		$result = LeveldbClient::destroy($this->getLeveldbFile());
106
+		$this->driverConnect();
107
+
108
+		return $result;
109
+	}
110
+
111
+	/**
112
+	 * @return string
113
+	 * @throws PhpfastcacheCoreException
114
+	 */
115
+	public function getLeveldbFile(): string
116
+	{
117
+		return $this->getPath() . '/' . self::LEVELDB_FILENAME;
118
+	}
119
+
120
+	/**
121
+	 * @return bool
122
+	 * @throws PhpfastcacheCoreException
123
+	 * @throws PhpfastcacheLogicException
124
+	 */
125
+	protected function driverConnect(): bool
126
+	{
127
+		if ($this->instance instanceof LeveldbClient) {
128
+			throw new PhpfastcacheLogicException('Already connected to Leveldb database');
129
+		}
130
+
131
+		$this->instance = new LeveldbClient($this->getLeveldbFile());
132
+
133
+		return true;
134
+	}
135 135
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -78,7 +78,7 @@
 block discarded – undo
78 78
     protected function driverWrite(ExtendedCacheItemInterface $item): bool
79 79
     {
80 80
 
81
-        return (bool)$this->instance->set($item->getKey(), $this->encode($this->driverPreWrap($item)));
81
+        return (bool) $this->instance->set($item->getKey(), $this->encode($this->driverPreWrap($item)));
82 82
     }
83 83
 
84 84
     /**
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -47,8 +47,7 @@
 block discarded – undo
47 47
     /**
48 48
      * Close connection on destruct
49 49
      */
50
-    public function __destruct()
51
-    {
50
+    public function __destruct() {
52 51
         if ($this->instance instanceof LeveldbClient) {
53 52
             $this->instance->close();
54 53
             $this->instance = null;
Please login to merge, or discard this patch.
phpfastcache/phpfastcache/lib/Phpfastcache/Drivers/Memstatic/Item.php 2 patches
Indentation   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -25,9 +25,9 @@
 block discarded – undo
25 25
  */
26 26
 class Item extends \Phpfastcache\Drivers\Memory\Item
27 27
 {
28
-    public function __construct(ExtendedCacheItemPoolInterface $driver, string $key, EventManagerInterface $em)
29
-    {
30
-        trigger_error('Memstatic driver has changed its name, it is now called "Memory"', E_USER_DEPRECATED);
31
-        parent::__construct($driver, $key, $em);
32
-    }
28
+	public function __construct(ExtendedCacheItemPoolInterface $driver, string $key, EventManagerInterface $em)
29
+	{
30
+		trigger_error('Memstatic driver has changed its name, it is now called "Memory"', E_USER_DEPRECATED);
31
+		parent::__construct($driver, $key, $em);
32
+	}
33 33
 }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -25,8 +25,7 @@
 block discarded – undo
25 25
  */
26 26
 class Item extends \Phpfastcache\Drivers\Memory\Item
27 27
 {
28
-    public function __construct(ExtendedCacheItemPoolInterface $driver, string $key, EventManagerInterface $em)
29
-    {
28
+    public function __construct(ExtendedCacheItemPoolInterface $driver, string $key, EventManagerInterface $em) {
30 29
         trigger_error('Memstatic driver has changed its name, it is now called "Memory"', E_USER_DEPRECATED);
31 30
         parent::__construct($driver, $key, $em);
32 31
     }
Please login to merge, or discard this patch.
phpfastcache/phpfastcache/lib/Phpfastcache/Drivers/Memstatic/Driver.php 2 patches
Indentation   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -25,9 +25,9 @@
 block discarded – undo
25 25
  */
26 26
 class Driver extends \Phpfastcache\Drivers\Memory\Driver
27 27
 {
28
-    public function __construct(#[\SensitiveParameter] ConfigurationOptionInterface $config, string $instanceId, EventManagerInterface $em)
29
-    {
30
-        trigger_error('Memstatic driver has changed its name, it is now called "Memory"', E_USER_DEPRECATED);
31
-        parent::__construct($config, $instanceId, $em);
32
-    }
28
+	public function __construct(#[\SensitiveParameter] ConfigurationOptionInterface $config, string $instanceId, EventManagerInterface $em)
29
+	{
30
+		trigger_error('Memstatic driver has changed its name, it is now called "Memory"', E_USER_DEPRECATED);
31
+		parent::__construct($config, $instanceId, $em);
32
+	}
33 33
 }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -25,8 +25,7 @@
 block discarded – undo
25 25
  */
26 26
 class Driver extends \Phpfastcache\Drivers\Memory\Driver
27 27
 {
28
-    public function __construct(#[\SensitiveParameter] ConfigurationOptionInterface $config, string $instanceId, EventManagerInterface $em)
29
-    {
28
+    public function __construct(#[\SensitiveParameter] ConfigurationOptionInterface $config, string $instanceId, EventManagerInterface $em) {
30 29
         trigger_error('Memstatic driver has changed its name, it is now called "Memory"', E_USER_DEPRECATED);
31 30
         parent::__construct($config, $instanceId, $em);
32 31
     }
Please login to merge, or discard this patch.
phpfastcache/phpfastcache/lib/Phpfastcache/Drivers/Memstatic/Config.php 2 patches
Indentation   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -22,9 +22,9 @@
 block discarded – undo
22 22
  */
23 23
 class Config extends \Phpfastcache\Drivers\Memory\Config
24 24
 {
25
-    public function __construct(array $parameters = [])
26
-    {
27
-        trigger_error('Memstatic driver has changed its name, it is now called "Memory"', E_USER_DEPRECATED);
28
-        parent::__construct($parameters);
29
-    }
25
+	public function __construct(array $parameters = [])
26
+	{
27
+		trigger_error('Memstatic driver has changed its name, it is now called "Memory"', E_USER_DEPRECATED);
28
+		parent::__construct($parameters);
29
+	}
30 30
 }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -22,8 +22,7 @@
 block discarded – undo
22 22
  */
23 23
 class Config extends \Phpfastcache\Drivers\Memory\Config
24 24
 {
25
-    public function __construct(array $parameters = [])
26
-    {
25
+    public function __construct(array $parameters = []) {
27 26
         trigger_error('Memstatic driver has changed its name, it is now called "Memory"', E_USER_DEPRECATED);
28 27
         parent::__construct($parameters);
29 28
     }
Please login to merge, or discard this patch.
phpfastcache/phpfastcache/lib/Phpfastcache/Drivers/Rediscluster/Driver.php 1 patch
Indentation   +116 added lines, -116 removed lines patch added patch discarded remove patch
@@ -31,123 +31,123 @@
 block discarded – undo
31 31
  */
32 32
 class Driver implements AggregatablePoolInterface
33 33
 {
34
-    use RedisDriverTrait, TaggableCacheItemPoolTrait {
35
-        RedisDriverTrait::driverReadMultiple insteadof TaggableCacheItemPoolTrait;
36
-        RedisDriverTrait::driverDeleteMultiple insteadof TaggableCacheItemPoolTrait;
37
-    }
38
-
39
-    /**
40
-     * @return bool
41
-     */
42
-    public function driverCheck(): bool
43
-    {
44
-        return extension_loaded('Redis') && class_exists(RedisCluster::class);
45
-    }
46
-
47
-    /**
48
-     * @return DriverStatistic
49
-     */
50
-    public function getStats(): DriverStatistic
51
-    {
52
-        $masters = $this->instance->_masters();
53
-        $infos = array_map(fn($cluster) => $this->instance->info($cluster), $masters);
54
-        $date = (new DateTime())->setTimestamp(time() - min(array_column($infos, 'uptime_in_seconds')));
55
-
56
-        return (new DriverStatistic())
57
-            ->setData(implode(', ', array_keys($this->itemInstances)))
58
-            ->setRawData($infos)
59
-            ->setSize(array_sum(array_column($infos, 'used_memory_dataset')))
60
-            ->setInfo(
61
-                sprintf(
62
-                    trim(<<<EOF
34
+	use RedisDriverTrait, TaggableCacheItemPoolTrait {
35
+		RedisDriverTrait::driverReadMultiple insteadof TaggableCacheItemPoolTrait;
36
+		RedisDriverTrait::driverDeleteMultiple insteadof TaggableCacheItemPoolTrait;
37
+	}
38
+
39
+	/**
40
+	 * @return bool
41
+	 */
42
+	public function driverCheck(): bool
43
+	{
44
+		return extension_loaded('Redis') && class_exists(RedisCluster::class);
45
+	}
46
+
47
+	/**
48
+	 * @return DriverStatistic
49
+	 */
50
+	public function getStats(): DriverStatistic
51
+	{
52
+		$masters = $this->instance->_masters();
53
+		$infos = array_map(fn($cluster) => $this->instance->info($cluster), $masters);
54
+		$date = (new DateTime())->setTimestamp(time() - min(array_column($infos, 'uptime_in_seconds')));
55
+
56
+		return (new DriverStatistic())
57
+			->setData(implode(', ', array_keys($this->itemInstances)))
58
+			->setRawData($infos)
59
+			->setSize(array_sum(array_column($infos, 'used_memory_dataset')))
60
+			->setInfo(
61
+				sprintf(
62
+					trim(<<<EOF
63 63
                         Redis Cluster version v%s, php-ext v%s with %d master nodes and %d slaves connected are up since %s.
64 64
                         For more information see RawData.
65 65
                     EOF),
66
-                    implode(', ', array_unique(array_column($infos, 'redis_version'))),
67
-                    \phpversion("redis"),
68
-                    count($masters),
69
-                    array_sum(array_column($infos, 'connected_slaves')),
70
-                    $date->format(DATE_RFC2822)
71
-                )
72
-            );
73
-    }
74
-
75
-    /**
76
-     * @return bool
77
-     * @throws PhpfastcacheLogicException
78
-     */
79
-    protected function driverConnect(): bool
80
-    {
81
-        if (isset($this->instance) && $this->instance instanceof RedisCluster) {
82
-            throw new PhpfastcacheLogicException('Already connected to Redis server');
83
-        }
84
-
85
-        /**
86
-         * In case of a user-provided
87
-         * Redis client just return here
88
-         */
89
-        if ($this->getConfig()->getRedisClusterClient() instanceof RedisCluster) {
90
-            /**
91
-             * Unlike Predis, we can't test if we're connected
92
-             * or not, so let's just assume that we are
93
-             */
94
-            $this->instance = $this->getConfig()->getRedisClusterClient();
95
-            return true;
96
-        }
97
-
98
-        $this->instance = $this->instance ?? new RedisCluster(
99
-            null,
100
-            $this->getConfig()->getClusters(),
101
-            $this->getConfig()->getTimeout(),
102
-            $this->getConfig()->getReadTimeout(),
103
-            true,
104
-            $this->getConfig()->getPassword()
105
-        );
106
-
107
-        $this->instance->setOption(RedisCluster::OPT_SCAN, RedisCluster::SCAN_RETRY);
108
-
109
-        if ($this->getConfig()->getOptPrefix()) {
110
-            $this->instance->setOption(RedisCluster::OPT_PREFIX, $this->getConfig()->getOptPrefix());
111
-        }
112
-
113
-        if ($this->getConfig()->getSlaveFailover()) {
114
-            $this->instance->setOption(RedisCluster::OPT_SLAVE_FAILOVER, $this->getConfig()->getSlaveFailover());
115
-        }
116
-
117
-
118
-        return true;
119
-    }
120
-
121
-    /**
122
-     * @return array<int, string>
123
-     */
124
-    protected function driverReadAllKeys(string $pattern = '*'): iterable
125
-    {
126
-        $keys = [[]];
127
-        foreach ($this->instance->_masters() as $master) {
128
-            $i = -1;
129
-            $result = $this->instance->scan(
130
-                $i,
131
-                $master,
132
-                $pattern === '' ? '*' : $pattern,
133
-                ExtendedCacheItemPoolInterface::MAX_ALL_KEYS_COUNT
134
-            );
135
-            if (is_array($result)) {
136
-                $keys[] = $result;
137
-            }
138
-        }
139
-
140
-        return array_unique(array_merge(...$keys));
141
-    }
142
-
143
-    /**
144
-     * @return bool
145
-     */
146
-    protected function driverClear(): bool
147
-    {
148
-        foreach ($this->instance->_masters() as $nodeMaster) {
149
-            $this->instance->flushDb($nodeMaster);
150
-        }
151
-        return true;
152
-    }
66
+					implode(', ', array_unique(array_column($infos, 'redis_version'))),
67
+					\phpversion("redis"),
68
+					count($masters),
69
+					array_sum(array_column($infos, 'connected_slaves')),
70
+					$date->format(DATE_RFC2822)
71
+				)
72
+			);
73
+	}
74
+
75
+	/**
76
+	 * @return bool
77
+	 * @throws PhpfastcacheLogicException
78
+	 */
79
+	protected function driverConnect(): bool
80
+	{
81
+		if (isset($this->instance) && $this->instance instanceof RedisCluster) {
82
+			throw new PhpfastcacheLogicException('Already connected to Redis server');
83
+		}
84
+
85
+		/**
86
+		 * In case of a user-provided
87
+		 * Redis client just return here
88
+		 */
89
+		if ($this->getConfig()->getRedisClusterClient() instanceof RedisCluster) {
90
+			/**
91
+			 * Unlike Predis, we can't test if we're connected
92
+			 * or not, so let's just assume that we are
93
+			 */
94
+			$this->instance = $this->getConfig()->getRedisClusterClient();
95
+			return true;
96
+		}
97
+
98
+		$this->instance = $this->instance ?? new RedisCluster(
99
+			null,
100
+			$this->getConfig()->getClusters(),
101
+			$this->getConfig()->getTimeout(),
102
+			$this->getConfig()->getReadTimeout(),
103
+			true,
104
+			$this->getConfig()->getPassword()
105
+		);
106
+
107
+		$this->instance->setOption(RedisCluster::OPT_SCAN, RedisCluster::SCAN_RETRY);
108
+
109
+		if ($this->getConfig()->getOptPrefix()) {
110
+			$this->instance->setOption(RedisCluster::OPT_PREFIX, $this->getConfig()->getOptPrefix());
111
+		}
112
+
113
+		if ($this->getConfig()->getSlaveFailover()) {
114
+			$this->instance->setOption(RedisCluster::OPT_SLAVE_FAILOVER, $this->getConfig()->getSlaveFailover());
115
+		}
116
+
117
+
118
+		return true;
119
+	}
120
+
121
+	/**
122
+	 * @return array<int, string>
123
+	 */
124
+	protected function driverReadAllKeys(string $pattern = '*'): iterable
125
+	{
126
+		$keys = [[]];
127
+		foreach ($this->instance->_masters() as $master) {
128
+			$i = -1;
129
+			$result = $this->instance->scan(
130
+				$i,
131
+				$master,
132
+				$pattern === '' ? '*' : $pattern,
133
+				ExtendedCacheItemPoolInterface::MAX_ALL_KEYS_COUNT
134
+			);
135
+			if (is_array($result)) {
136
+				$keys[] = $result;
137
+			}
138
+		}
139
+
140
+		return array_unique(array_merge(...$keys));
141
+	}
142
+
143
+	/**
144
+	 * @return bool
145
+	 */
146
+	protected function driverClear(): bool
147
+	{
148
+		foreach ($this->instance->_masters() as $nodeMaster) {
149
+			$this->instance->flushDb($nodeMaster);
150
+		}
151
+		return true;
152
+	}
153 153
 }
Please login to merge, or discard this patch.
phpfastcache/phpfastcache/lib/Phpfastcache/Drivers/Rediscluster/Config.php 1 patch
Indentation   +160 added lines, -160 removed lines patch added patch discarded remove patch
@@ -23,164 +23,164 @@
 block discarded – undo
23 23
 
24 24
 class Config extends ConfigurationOption
25 25
 {
26
-    /**
27
-     * @var array<string>
28
-     */
29
-    protected array $clusters = [];
30
-    protected string $password = '';
31
-    protected int $timeout = 5;
32
-    protected int $readTimeout = 5;
33
-    protected ?RedisClusterClient $redisClusterClient = null;
34
-    protected string $optPrefix = '';
35
-    protected ?int $slaveFailover = null;
36
-
37
-    /**
38
-     * @return array<string>
39
-     */
40
-    public function getClusters(): array
41
-    {
42
-        return $this->clusters;
43
-    }
44
-
45
-    /**
46
-     * @param string $cluster
47
-     * @return Config
48
-     */
49
-    public function addCluster(string $cluster): static
50
-    {
51
-        $this->enforceLockedProperty(__FUNCTION__);
52
-        $this->clusters[] = $cluster;
53
-        return $this;
54
-    }
55
-
56
-    /**
57
-     * @param string $clusters
58
-     * @return Config
59
-     */
60
-    public function setClusters(...$clusters): static
61
-    {
62
-        return $this->setProperty('clusters', $clusters);
63
-    }
64
-
65
-    /**
66
-     * @return string
67
-     */
68
-    public function getPassword(): string
69
-    {
70
-        return $this->password;
71
-    }
72
-
73
-    /**
74
-     * @param string $password
75
-     *
76
-     * @return static
77
-     * @throws PhpfastcacheLogicException
78
-     */
79
-    public function setPassword(string $password): static
80
-    {
81
-        return $this->setProperty('password', $password);
82
-    }
83
-
84
-    /**
85
-     * @return int
86
-     */
87
-    public function getTimeout(): int
88
-    {
89
-        return $this->timeout;
90
-    }
91
-
92
-    /**
93
-     * @param int $timeout
94
-     * @return static
95
-     * @throws PhpfastcacheLogicException
96
-     */
97
-    public function setTimeout(int $timeout): static
98
-    {
99
-        return $this->setProperty('timeout', $timeout);
100
-    }
101
-
102
-    /**
103
-     * @return int
104
-     */
105
-    public function getReadTimeout(): int
106
-    {
107
-        return $this->readTimeout;
108
-    }
109
-
110
-    /**
111
-     * @param int $readTimeout
112
-     * @return static
113
-     * @throws PhpfastcacheLogicException
114
-     */
115
-    public function setReadTimeout(int $readTimeout): static
116
-    {
117
-        return $this->setProperty('readTimeout', $readTimeout);
118
-    }
119
-
120
-
121
-    /**
122
-     * @return RedisClusterClient|null
123
-     */
124
-    public function getRedisClusterClient(): ?RedisClusterClient
125
-    {
126
-        return $this->redisClusterClient;
127
-    }
128
-
129
-    /**
130
-     * @param RedisClusterClient|null $redisClusterClient
131
-     * @return Config
132
-     * @throws PhpfastcacheLogicException
133
-     */
134
-    public function setRedisClusterClient(?RedisClusterClient $redisClusterClient): static
135
-    {
136
-        return $this->setProperty('redisClusterClient', $redisClusterClient);
137
-    }
138
-
139
-    /**
140
-     * @return string
141
-     * @since 7.0.2
142
-     */
143
-    public function getOptPrefix(): string
144
-    {
145
-        return $this->optPrefix;
146
-    }
147
-
148
-    /**
149
-     * @param string $optPrefix
150
-     * @return Config
151
-     * @throws PhpfastcacheLogicException
152
-     * @since 7.0.2
153
-     */
154
-    public function setOptPrefix(string $optPrefix): static
155
-    {
156
-        return $this->setProperty('optPrefix', trim($optPrefix));
157
-    }
158
-
159
-    /**
160
-     * @return int|null
161
-     */
162
-    public function getSlaveFailover(): ?int
163
-    {
164
-        return $this->slaveFailover;
165
-    }
166
-
167
-    /**
168
-     * @param int|null $slaveFailover
169
-     * @return Config
170
-     * @throws PhpfastcacheInvalidArgumentException
171
-     */
172
-    public function setSlaveFailover(?int $slaveFailover): static
173
-    {
174
-        if (
175
-            $slaveFailover !== null && !in_array($slaveFailover, [
176
-            RedisClusterClient::FAILOVER_NONE,
177
-            RedisClusterClient::FAILOVER_ERROR,
178
-            RedisClusterClient::FAILOVER_DISTRIBUTE,
179
-            RedisClusterClient::FAILOVER_DISTRIBUTE_SLAVES,
180
-            ])
181
-        ) {
182
-            throw new PhpfastcacheInvalidArgumentException('Invalid Slave Failover option: ' . $slaveFailover);
183
-        }
184
-        return $this->setProperty('slaveFailover', $slaveFailover);
185
-    }
26
+	/**
27
+	 * @var array<string>
28
+	 */
29
+	protected array $clusters = [];
30
+	protected string $password = '';
31
+	protected int $timeout = 5;
32
+	protected int $readTimeout = 5;
33
+	protected ?RedisClusterClient $redisClusterClient = null;
34
+	protected string $optPrefix = '';
35
+	protected ?int $slaveFailover = null;
36
+
37
+	/**
38
+	 * @return array<string>
39
+	 */
40
+	public function getClusters(): array
41
+	{
42
+		return $this->clusters;
43
+	}
44
+
45
+	/**
46
+	 * @param string $cluster
47
+	 * @return Config
48
+	 */
49
+	public function addCluster(string $cluster): static
50
+	{
51
+		$this->enforceLockedProperty(__FUNCTION__);
52
+		$this->clusters[] = $cluster;
53
+		return $this;
54
+	}
55
+
56
+	/**
57
+	 * @param string $clusters
58
+	 * @return Config
59
+	 */
60
+	public function setClusters(...$clusters): static
61
+	{
62
+		return $this->setProperty('clusters', $clusters);
63
+	}
64
+
65
+	/**
66
+	 * @return string
67
+	 */
68
+	public function getPassword(): string
69
+	{
70
+		return $this->password;
71
+	}
72
+
73
+	/**
74
+	 * @param string $password
75
+	 *
76
+	 * @return static
77
+	 * @throws PhpfastcacheLogicException
78
+	 */
79
+	public function setPassword(string $password): static
80
+	{
81
+		return $this->setProperty('password', $password);
82
+	}
83
+
84
+	/**
85
+	 * @return int
86
+	 */
87
+	public function getTimeout(): int
88
+	{
89
+		return $this->timeout;
90
+	}
91
+
92
+	/**
93
+	 * @param int $timeout
94
+	 * @return static
95
+	 * @throws PhpfastcacheLogicException
96
+	 */
97
+	public function setTimeout(int $timeout): static
98
+	{
99
+		return $this->setProperty('timeout', $timeout);
100
+	}
101
+
102
+	/**
103
+	 * @return int
104
+	 */
105
+	public function getReadTimeout(): int
106
+	{
107
+		return $this->readTimeout;
108
+	}
109
+
110
+	/**
111
+	 * @param int $readTimeout
112
+	 * @return static
113
+	 * @throws PhpfastcacheLogicException
114
+	 */
115
+	public function setReadTimeout(int $readTimeout): static
116
+	{
117
+		return $this->setProperty('readTimeout', $readTimeout);
118
+	}
119
+
120
+
121
+	/**
122
+	 * @return RedisClusterClient|null
123
+	 */
124
+	public function getRedisClusterClient(): ?RedisClusterClient
125
+	{
126
+		return $this->redisClusterClient;
127
+	}
128
+
129
+	/**
130
+	 * @param RedisClusterClient|null $redisClusterClient
131
+	 * @return Config
132
+	 * @throws PhpfastcacheLogicException
133
+	 */
134
+	public function setRedisClusterClient(?RedisClusterClient $redisClusterClient): static
135
+	{
136
+		return $this->setProperty('redisClusterClient', $redisClusterClient);
137
+	}
138
+
139
+	/**
140
+	 * @return string
141
+	 * @since 7.0.2
142
+	 */
143
+	public function getOptPrefix(): string
144
+	{
145
+		return $this->optPrefix;
146
+	}
147
+
148
+	/**
149
+	 * @param string $optPrefix
150
+	 * @return Config
151
+	 * @throws PhpfastcacheLogicException
152
+	 * @since 7.0.2
153
+	 */
154
+	public function setOptPrefix(string $optPrefix): static
155
+	{
156
+		return $this->setProperty('optPrefix', trim($optPrefix));
157
+	}
158
+
159
+	/**
160
+	 * @return int|null
161
+	 */
162
+	public function getSlaveFailover(): ?int
163
+	{
164
+		return $this->slaveFailover;
165
+	}
166
+
167
+	/**
168
+	 * @param int|null $slaveFailover
169
+	 * @return Config
170
+	 * @throws PhpfastcacheInvalidArgumentException
171
+	 */
172
+	public function setSlaveFailover(?int $slaveFailover): static
173
+	{
174
+		if (
175
+			$slaveFailover !== null && !in_array($slaveFailover, [
176
+			RedisClusterClient::FAILOVER_NONE,
177
+			RedisClusterClient::FAILOVER_ERROR,
178
+			RedisClusterClient::FAILOVER_DISTRIBUTE,
179
+			RedisClusterClient::FAILOVER_DISTRIBUTE_SLAVES,
180
+			])
181
+		) {
182
+			throw new PhpfastcacheInvalidArgumentException('Invalid Slave Failover option: ' . $slaveFailover);
183
+		}
184
+		return $this->setProperty('slaveFailover', $slaveFailover);
185
+	}
186 186
 }
Please login to merge, or discard this patch.