MediaWiki
master
JsonDeserializableCodec.php
Go to the documentation of this file.
1
<?php
8
namespace
MediaWiki\Json
;
9
10
use Wikimedia\JsonCodec\JsonClassCodec;
11
22
class
JsonDeserializableCodec
implements
JsonClassCodec {
23
private
JsonDeserializer
$codec;
24
25
public
function
__construct
(
JsonDeserializer
$codec ) {
26
$this->codec = $codec;
27
}
28
30
public
function
toJsonArray
( $obj ): array {
31
$result = $obj->jsonSerialize();
32
// Undo the work of JsonDeserializableTrait to avoid
33
// redundant storage of TYPE_ANNOTATION
34
unset( $result[
JsonConstants::TYPE_ANNOTATION
] );
35
return
$result;
36
}
37
39
public
function
newFromJsonArray
(
string
$className, array $json ) {
40
return
$className::newFromJsonArray( $this->codec, $json );
41
}
42
44
public
function
jsonClassHintFor
(
string
$className,
string
$keyName ) {
45
return
null
;
46
}
47
}
MediaWiki\Json\JsonDeserializableCodec
A JsonClassCodec for objects implementing the JsonDeserializable interface.
Definition
JsonDeserializableCodec.php:22
MediaWiki\Json\JsonDeserializableCodec\jsonClassHintFor
jsonClassHintFor(string $className, string $keyName)
Definition
JsonDeserializableCodec.php:44
MediaWiki\Json\JsonDeserializableCodec\__construct
__construct(JsonDeserializer $codec)
Definition
JsonDeserializableCodec.php:25
MediaWiki\Json\JsonDeserializableCodec\newFromJsonArray
newFromJsonArray(string $className, array $json)
Definition
JsonDeserializableCodec.php:39
MediaWiki\Json\JsonDeserializableCodec\toJsonArray
toJsonArray( $obj)
Definition
JsonDeserializableCodec.php:30
MediaWiki\Json\JsonConstants\TYPE_ANNOTATION
const TYPE_ANNOTATION
Name of the property where the class information is stored.
Definition
JsonConstants.php:20
MediaWiki\Json\JsonDeserializer
Definition
JsonDeserializer.php:20
MediaWiki\Json
Definition
ClockAdapter.php:3
includes
Json
JsonDeserializableCodec.php
Generated on Fri Jan 16 2026 18:25:32 for MediaWiki by
1.10.0