Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
loadAnnotations example
public
function
loadClassMetadata
(
ClassMetadataInterface
$classMetadata
)
: bool
{
$reflectionClass
=
$classMetadata
->
getReflectionClass
(
)
;
$className
=
$reflectionClass
->name;
$loaded
= false;
$classGroups
=
[
]
;
$classContextAnnotation
= null;
$attributesMetadata
=
$classMetadata
->
getAttributesMetadata
(
)
;
foreach
(
$this
->
loadAnnotations
(
$reflectionClass
)
as
$annotation
)
{
if
(
$annotation
instanceof DiscriminatorMap
)
{
$classMetadata
->
setClassDiscriminatorMapping
(
new
ClassDiscriminatorMapping
(
$annotation
->
getTypeProperty
(
)
,
$annotation
->
getMapping
(
)
)
)
;
continue
;
}
if
(
$annotation
instanceof Groups
)
{
$classGroups
=
$annotation
->
getGroups
(
)
;
{
}
public
function
loadClassMetadata
(
ClassMetadataInterface
$classMetadata
)
: bool
{
$reflectionClass
=
$classMetadata
->
getReflectionClass
(
)
;
$className
=
$reflectionClass
->name;
$loaded
= false;
$attributesMetadata
=
$classMetadata
->
getAttributesMetadata
(
)
;
foreach
(
$this
->
loadAnnotations
(
$reflectionClass
)
as
$annotation
)
{
if
(
$annotation
instanceof DiscriminatorMap
)
{
$classMetadata
->
setClassDiscriminatorMapping
(
new
ClassDiscriminatorMapping
(
$annotation
->
getTypeProperty
(
)
,
$annotation
->
getMapping
(
)
)
)
;
}
}
foreach
(
$reflectionClass
->
getProperties
(
)
as
$property
)
{
if
(
!
isset
(
$attributesMetadata
[
$property
->name
]
)
)
{
$attributesMetadata
[
$property
->name
]
=
new
AttributeMetadata
(
$property
->name
)
;