• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

daycry / auth / 22527357078

28 Feb 2026 07:22PM UTC coverage: 63.267% (+0.7%) from 62.568%
22527357078

push

github

daycry
Remove PHP 8.1 from PHPUnit CI matrix

Update .github/workflows/phpunit.yml to drop PHP 8.1 from the test matrix. CI will now run PHPUnit only on PHP 8.2 and 8.3, reducing the matrix to current supported versions.

3064 of 4843 relevant lines covered (63.27%)

41.52 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/Entities/Cast/SerializeCast.php
1
<?php
2

3
declare(strict_types=1);
4

5
/**
6
 * This file is part of Daycry Auth.
7
 *
8
 * (c) Daycry <daycry9@proton.me>
9
 *
10
 * For the full copyright and license information, please view
11
 * the LICENSE file that was distributed with this source code.
12
 */
13

14
namespace Daycry\Auth\Entities\Cast;
15

16
use CodeIgniter\Entity\Cast\BaseCast;
17

18
/**
19
 * Serialize Cast
20
 *
21
 * Stores values as JSON. Provides backward-compatible reading of
22
 * legacy PHP-serialized data (read-only fallback, never writes serialized).
23
 */
24
final class SerializeCast extends BaseCast
25
{
26
    /**
27
     * @param string $value
28
     */
29
    public static function get($value, array $params = []): ?array
×
30
    {
31
        if (! $value) {
×
32
            return null;
×
33
        }
34

35
        // Primary: try JSON (new format)
36
        $decoded = json_decode($value, true);
×
37

38
        if (json_last_error() === JSON_ERROR_NONE) {
×
39
            return $decoded;
×
40
        }
41

42
        // Fallback: legacy PHP-serialized data — allowed_classes=false prevents object injection
43
        $unserialized = unserialize($value, ['allowed_classes' => false]);
×
44

45
        return is_array($unserialized) ? $unserialized : null;
×
46
    }
47

48
    /**
49
     * @param bool|int|list<mixed>|string $value
50
     */
51
    public static function set($value, array $params = []): ?string
×
52
    {
53
        if (! $value) {
×
54
            return null;
×
55
        }
56

57
        return json_encode($value, JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR);
×
58
    }
59
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc