for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Wikibase\DataModel\Fixtures;
use InvalidArgumentException;
use Wikibase\DataModel\Entity\EntityId;
/**
* Dummy custom EntityId implementation for use with EntityIdValueTest
*
* @license GPL 2+
* @author Daniel Kinzler
*/
class CustomEntityId extends EntityId {
* @param string $idSerialization
* @throws InvalidArgumentException
public function __construct( $idSerialization ) {
$serializationParts = self::splitSerialization( $idSerialization );
$localId = strtoupper( $serializationParts[2] );
parent::__construct( self::joinSerialization(
[ $serializationParts[0], $serializationParts[1], $localId ] )
);
}
* @see Serializable::serialize
* @since 7.0 serialization format changed in an incompatible way
* @return string
public function serialize() {
return $this->serialization;
* @see Serializable::unserialize
* @param string $serialized
public function unserialize( $serialized ) {
$array = json_decode( $serialized );
$this->serialization = is_array( $array ) ? $array[1] : $serialized;
public function getEntityType() {
return 'custom';