Skip to content

Commit c3ee9d7

Browse files
author
Willem Stuursma-Ruwen
authored
Merge pull request #45 from mvorisek/patch-1
Add official PHP 8.0 support
2 parents 8b254ed + 65509f6 commit c3ee9d7

File tree

5 files changed

+27
-18
lines changed

5 files changed

+27
-18
lines changed

classes/mutex/SemaphoreMutex.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
class SemaphoreMutex extends LockMutex
1919
{
2020
/**
21-
* @var resource The semaphore id.
21+
* @var \SysvSemaphore|resource The semaphore id.
2222
*/
2323
private $semaphore;
2424

@@ -33,12 +33,12 @@ class SemaphoreMutex extends LockMutex
3333
* $mutex = new SemaphoreMutex($semaphore);
3434
* </code>
3535
*
36-
* @param resource $semaphore The semaphore id.
36+
* @param \SysvSemaphore|resource $semaphore The semaphore id.
3737
* @throws \InvalidArgumentException The semaphore id is not a valid resource.
3838
*/
3939
public function __construct($semaphore)
4040
{
41-
if (!is_resource($semaphore)) {
41+
if (!$semaphore instanceof \SysvSemaphore && !is_resource($semaphore)) {
4242
throw new InvalidArgumentException('The semaphore id is not a valid resource.');
4343
}
4444
$this->semaphore = $semaphore;

composer.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
}
4343
},
4444
"require": {
45-
"php": "^7.2",
45+
"php": "^7.2 || ^8.0",
4646
"psr/log": "^1"
4747
},
4848
"require-dev": {
@@ -55,7 +55,7 @@
5555
"eloquent/liberator": "^2.0",
5656
"friendsofphp/php-cs-fixer": "^2.16",
5757
"johnkary/phpunit-speedtrap": "^3.0",
58-
"mikey179/vfsstream": "^1.6",
58+
"mikey179/vfsstream": "^1.6.7",
5959
"php-mock/php-mock-phpunit": "^2.1",
6060
"phpstan/phpstan": "^0.12.58",
6161
"phpunit/phpunit": "^9.4",

tests/mutex/MutexConcurrencyTest.php

+8-5
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ public function provideMutexFactories()
252252

253253
'semaphore' => [function ($timeout = 3) use ($filename): Mutex {
254254
$semaphore = sem_get(ftok($filename, 'b'));
255-
$this->assertTrue(is_resource($semaphore));
255+
$this->assertTrue($semaphore instanceof \SysvSemaphore || is_resource($semaphore)); // @phpstan-ignore-line
256256

257257
return new SemaphoreMutex($semaphore);
258258
}],
@@ -290,10 +290,13 @@ function (string $uri): Redis {
290290
$redis = new Redis();
291291

292292
$uri = parse_url($uri);
293-
if (!empty($uri['port'])) {
294-
$redis->connect($uri['host'], $uri['port']);
295-
} else {
296-
$redis->connect($uri['host']);
293+
$redis->connect($uri['host'], $uri['port'] ?? 6379);
294+
if (!empty($uri['pass'])) {
295+
$redis->auth(
296+
empty($uri['user'])
297+
? $uri['pass']
298+
: [$uri['user'], $uri['pass']]
299+
);
297300
}
298301

299302
return $redis;

tests/mutex/MutexTest.php

+7-4
Original file line numberDiff line numberDiff line change
@@ -133,10 +133,13 @@ function ($uri) {
133133
$redis = new Redis();
134134

135135
$uri = parse_url($uri);
136-
if (!empty($uri['port'])) {
137-
$redis->connect($uri['host'], $uri['port']);
138-
} else {
139-
$redis->connect($uri['host']);
136+
$redis->connect($uri['host'], $uri['port'] ?? 6379);
137+
if (!empty($uri['pass'])) {
138+
$redis->auth(
139+
empty($uri['user'])
140+
? $uri['pass']
141+
: [$uri['user'], $uri['pass']]
142+
);
140143
}
141144

142145
return $redis;

tests/mutex/PHPRedisMutexTest.php

+7-4
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,13 @@ public function eval($script, $args = [], $numKeys = 0)
7474
}
7575
};
7676

77-
if (!empty($uri['port'])) {
78-
$connection->connect($uri['host'], $uri['port']);
79-
} else {
80-
$connection->connect($uri['host']);
77+
$connection->connect($uri['host'], $uri['port'] ?? 6379);
78+
if (!empty($uri['pass'])) {
79+
$connection->auth(
80+
empty($uri['user'])
81+
? $uri['pass']
82+
: [$uri['user'], $uri['pass']]
83+
);
8184
}
8285

8386
$connection->flushAll(); // Clear any existing locks.

0 commit comments

Comments
 (0)