MediaWiki 1.41.2
SerializedValueContainer.php
Go to the documentation of this file.
1<?php
2
9 private const SCHEMA = '__svc_schema__';
10 // 64 bit UID
11 private const SCHEMA_UNIFIED = 'DAAIDgoKAQw';
12 // 64 bit UID
13 private const SCHEMA_SEGMENTED = 'CAYCDAgCDw4';
14
15 public const UNIFIED_DATA = '__data__';
16 public const SEGMENTED_HASHES = '__hashes__';
17
23 public static function newUnified( $serialized ) {
24 wfDeprecated( __METHOD__, '1.41' );
25 return (object)[
26 self::SCHEMA => self::SCHEMA_UNIFIED,
27 self::UNIFIED_DATA => $serialized
28 ];
29 }
30
35 public static function newSegmented( array $segmentHashList ) {
36 return (object)[
37 self::SCHEMA => self::SCHEMA_SEGMENTED,
38 self::SEGMENTED_HASHES => $segmentHashList
39 ];
40 }
41
46 public static function isUnified( $value ) {
47 return (
48 $value instanceof stdClass &&
49 ( $value->{self::SCHEMA} ?? null ) === self::SCHEMA_UNIFIED
50 );
51 }
52
57 public static function isSegmented( $value ) {
58 return (
59 $value instanceof stdClass &&
60 ( $value->{self::SCHEMA} ?? null ) === self::SCHEMA_SEGMENTED
61 );
62 }
63}
wfDeprecated( $function, $version=false, $component=false, $callerOffset=2)
Logs a warning that a deprecated feature was used.
Helper class for segmenting large cache values without relying on serializing classes.
static newSegmented(array $segmentHashList)