for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Wikibase\DataModel\Serializers\Internal;
use Serializers\Serializer;
use Wikibase\DataModel\Serializers\AliasGroupListSerializer as AliasGroupListSerializerInterface;
use Wikibase\DataModel\Term\AliasGroupList;
/**
* Package private
*
* @licence GNU GPL v2+
* @author Addshore
* @author Bene* < [email protected] >
*/
class AliasGroupListSerializer implements AliasGroupListSerializerInterface {
* @var Serializer
private $aliasGroupSerializer;
* @var bool
private $useObjectsForMaps;
* @param Serializer $aliasGroupSerializer
* @param bool $useObjectsForMaps
public function __construct( Serializer $aliasGroupSerializer, $useObjectsForMaps ) {
$this->aliasGroupSerializer = $aliasGroupSerializer;
$this->useObjectsForMaps = $useObjectsForMaps;
}
* @see \Wikibase\DataModel\Serializers\AliasGroupListSerializer::serialize
* @param AliasGroupList $aliasGroupList
* @return array[]
public function serialize( AliasGroupList $aliasGroupList ) {
$serialization = array();
foreach ( $aliasGroupList->getIterator() as $aliasGroup ) {
$serialization[$aliasGroup->getLanguageCode()] = $this->aliasGroupSerializer->serialize( $aliasGroup );
if ( $this->useObjectsForMaps ) {
$serialization = (object)$serialization;
return $serialization;