Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
compatibility with ext-redis 6.3
  • Loading branch information
xabbuh committed Nov 7, 2025
commit 27fa6c58882b693663dcd820fe7337fec5a3dc52
162 changes: 162 additions & 0 deletions src/Symfony/Component/Cache/Traits/Redis63ProxyTrait.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
<?php

/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <[email protected]>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

namespace Symfony\Component\Cache\Traits;

if (version_compare(phpversion('redis'), '6.3.0', '>=')) {
/**
* @internal
*/
trait Redis63ProxyTrait
{
public function delifeq($key, $value): \Redis|int|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->delifeq(...\func_get_args());
}

public function hexpire($key, $ttl, $fields, $mode = null): \Redis|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hexpire(...\func_get_args());
}

public function hexpireat($key, $time, $fields, $mode = null): \Redis|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hexpireat(...\func_get_args());
}

public function hexpiretime($key, $fields): \Redis|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hexpiretime(...\func_get_args());
}

public function hgetdel($key, $fields): \Redis|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hgetdel(...\func_get_args());
}

public function hgetex($key, $fields, $expiry = null): \Redis|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hgetex(...\func_get_args());
}

public function hGetWithMeta($key, $member): mixed
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hGetWithMeta(...\func_get_args());
}

public function hpersist($key, $fields): \Redis|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hpersist(...\func_get_args());
}

public function hpexpire($key, $ttl, $fields, $mode = null): \Redis|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hpexpire(...\func_get_args());
}

public function hpexpireat($key, $mstime, $fields, $mode = null): \Redis|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hpexpireat(...\func_get_args());
}

public function hpexpiretime($key, $fields): \Redis|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hpexpiretime(...\func_get_args());
}

public function hpttl($key, $fields): \Redis|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hpttl(...\func_get_args());
}

public function hsetex($key, $fields, $expiry = null): \Redis|int|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hsetex(...\func_get_args());
}

public function httl($key, $fields): \Redis|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->httl(...\func_get_args());
}

public function vadd($key, $values, $element, $options = null): \Redis|int|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vadd(...\func_get_args());
}

public function vcard($key): \Redis|int|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vcard(...\func_get_args());
}

public function vdim($key): \Redis|int|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vdim(...\func_get_args());
}

public function vemb($key, $member, $raw = false): \Redis|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vemb(...\func_get_args());
}

public function vgetattr($key, $member, $decode = true): \Redis|array|string|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vgetattr(...\func_get_args());
}

public function vinfo($key): \Redis|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vinfo(...\func_get_args());
}

public function vismember($key, $member): \Redis|bool
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vismember(...\func_get_args());
}

public function vlinks($key, $member, $withscores = false): \Redis|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vlinks(...\func_get_args());
}

public function vrandmember($key, $count = 0): \Redis|array|string|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vrandmember(...\func_get_args());
}

public function vrange($key, $min, $max, $count = -1): \Redis|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vrange(...\func_get_args());
}

public function vrem($key, $member): \Redis|int|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vrem(...\func_get_args());
}

public function vsetattr($key, $member, $attributes): \Redis|int|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vsetattr(...\func_get_args());
}

public function vsim($key, $member, $options = null): \Redis|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vsim(...\func_get_args());
}
}
} else {
/**
* @internal
*/
trait Redis63ProxyTrait

Check failure on line 159 in src/Symfony/Component/Cache/Traits/Redis63ProxyTrait.php

View workflow job for this annotation

GitHub Actions / Psalm

DuplicateClass

src/Symfony/Component/Cache/Traits/Redis63ProxyTrait.php:159:11: DuplicateClass: Class Symfony\Component\Cache\Traits\Redis63ProxyTrait has already been defined in /home/runner/work/symfony/symfony/src/Symfony/Component/Cache/Traits/Redis63ProxyTrait.php (see https://psalm.dev/071)

Check failure on line 159 in src/Symfony/Component/Cache/Traits/Redis63ProxyTrait.php

View workflow job for this annotation

GitHub Actions / Psalm

DuplicateClass

src/Symfony/Component/Cache/Traits/Redis63ProxyTrait.php:159:11: DuplicateClass: Class Symfony\Component\Cache\Traits\Redis63ProxyTrait has already been defined in /home/runner/work/symfony/symfony/src/Symfony/Component/Cache/Traits/Redis63ProxyTrait.php (see https://psalm.dev/071)
{
}
}
1 change: 1 addition & 0 deletions src/Symfony/Component/Cache/Traits/Redis6Proxy.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ class Redis6Proxy extends \Redis implements ResetInterface, LazyObjectInterface
{
use Redis61ProxyTrait;
use Redis62ProxyTrait;
use Redis63ProxyTrait;
use LazyProxyTrait {
resetLazyObject as reset;
}
Expand Down
162 changes: 162 additions & 0 deletions src/Symfony/Component/Cache/Traits/RedisCluster63ProxyTrait.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
<?php

/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <[email protected]>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

namespace Symfony\Component\Cache\Traits;

if (version_compare(phpversion('redis'), '6.3.0', '>=')) {
/**
* @internal
*/
trait RedisCluster63ProxyTrait
{
public function delifeq($key, $value): \RedisCluster|int|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->delifeq(...\func_get_args());
}

public function hexpire($key, $ttl, $fields, $mode = null): \RedisCluster|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hexpire(...\func_get_args());
}

public function hexpireat($key, $time, $fields, $mode = null): \RedisCluster|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hexpireat(...\func_get_args());
}

public function hexpiretime($key, $fields): \RedisCluster|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hexpiretime(...\func_get_args());
}

public function hgetdel($key, $fields): \RedisCluster|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hgetdel(...\func_get_args());
}

public function hgetex($key, $fields, $expiry = null): \RedisCluster|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hgetex(...\func_get_args());
}

public function hgetWithMeta($key, $member): mixed
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hgetWithMeta(...\func_get_args());
}

public function hpersist($key, $fields): \RedisCluster|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hpersist(...\func_get_args());
}

public function hpexpire($key, $ttl, $fields, $mode = null): \RedisCluster|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hpexpire(...\func_get_args());
}

public function hpexpireat($key, $mstime, $fields, $mode = null): \RedisCluster|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hpexpireat(...\func_get_args());
}

public function hpexpiretime($key, $fields): \RedisCluster|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hpexpiretime(...\func_get_args());
}

public function hpttl($key, $fields): \RedisCluster|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hpttl(...\func_get_args());
}

public function hsetex($key, $fields, $expiry = null): \RedisCluster|int|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->hsetex(...\func_get_args());
}

public function httl($key, $fields): \RedisCluster|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->httl(...\func_get_args());
}

public function vadd($key, $values, $element, $options = null): \RedisCluster|int|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vadd(...\func_get_args());
}

public function vcard($key): \RedisCluster|int|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vcard(...\func_get_args());
}

public function vdim($key): \RedisCluster|int|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vdim(...\func_get_args());
}

public function vemb($key, $member, $raw = false): \RedisCluster|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vemb(...\func_get_args());
}

public function vgetattr($key, $member, $decode = true): \RedisCluster|array|string|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vgetattr(...\func_get_args());
}

public function vinfo($key): \RedisCluster|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vinfo(...\func_get_args());
}

public function vismember($key, $member): \RedisCluster|bool
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vismember(...\func_get_args());
}

public function vlinks($key, $member, $withscores = false): \RedisCluster|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vlinks(...\func_get_args());
}

public function vrandmember($key, $count = 0): \RedisCluster|array|string|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vrandmember(...\func_get_args());
}

public function vrange($key, $min, $max, $count = -1): \RedisCluster|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vrange(...\func_get_args());
}

public function vrem($key, $member): \RedisCluster|int|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vrem(...\func_get_args());
}

public function vsetattr($key, $member, $attributes): \RedisCluster|int|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vsetattr(...\func_get_args());
}

public function vsim($key, $member, $options = null): \RedisCluster|array|false
{
return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->vsim(...\func_get_args());
}
}
} else {
/**
* @internal
*/
trait RedisCluster63ProxyTrait

Check failure on line 159 in src/Symfony/Component/Cache/Traits/RedisCluster63ProxyTrait.php

View workflow job for this annotation

GitHub Actions / Psalm

DuplicateClass

src/Symfony/Component/Cache/Traits/RedisCluster63ProxyTrait.php:159:11: DuplicateClass: Class Symfony\Component\Cache\Traits\RedisCluster63ProxyTrait has already been defined in /home/runner/work/symfony/symfony/src/Symfony/Component/Cache/Traits/RedisCluster63ProxyTrait.php (see https://psalm.dev/071)

Check failure on line 159 in src/Symfony/Component/Cache/Traits/RedisCluster63ProxyTrait.php

View workflow job for this annotation

GitHub Actions / Psalm

DuplicateClass

src/Symfony/Component/Cache/Traits/RedisCluster63ProxyTrait.php:159:11: DuplicateClass: Class Symfony\Component\Cache\Traits\RedisCluster63ProxyTrait has already been defined in /home/runner/work/symfony/symfony/src/Symfony/Component/Cache/Traits/RedisCluster63ProxyTrait.php (see https://psalm.dev/071)
{
}
}
1 change: 1 addition & 0 deletions src/Symfony/Component/Cache/Traits/RedisCluster6Proxy.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ class RedisCluster6Proxy extends \RedisCluster implements ResetInterface, LazyOb
{
use RedisCluster61ProxyTrait;
use RedisCluster62ProxyTrait;
use RedisCluster63ProxyTrait;
use LazyProxyTrait {
resetLazyObject as reset;
}
Expand Down
Loading