function ClassMetadataFactoryCompiler::generateDeclaredClassMetadata
Parameters
ClassMetadataInterface[] $classMetadatas:
File
-
vendor/
symfony/ serializer/ Mapping/ Factory/ ClassMetadataFactoryCompiler.php, line 40
Class
- ClassMetadataFactoryCompiler
- @author Fabien Bourigault <bourigaultfabien@gmail.com>
Namespace
Symfony\Component\Serializer\Mapping\FactoryCode
private function generateDeclaredClassMetadata(array $classMetadatas) : string {
$compiled = '';
foreach ($classMetadatas as $classMetadata) {
$attributesMetadata = [];
foreach ($classMetadata->getAttributesMetadata() as $attributeMetadata) {
$attributesMetadata[$attributeMetadata->getName()] = [
$attributeMetadata->getGroups(),
$attributeMetadata->getMaxDepth(),
$attributeMetadata->getSerializedName(),
$attributeMetadata->getSerializedPath(),
];
}
$classDiscriminatorMapping = $classMetadata->getClassDiscriminatorMapping() ? [
$classMetadata->getClassDiscriminatorMapping()
->getTypeProperty(),
$classMetadata->getClassDiscriminatorMapping()
->getTypesMapping(),
] : null;
$compiled .= \sprintf("\n'%s' => %s,", $classMetadata->getName(), VarExporter::export([
$attributesMetadata,
$classDiscriminatorMapping,
]));
}
return $compiled;
}