Esempio n. 1
0
 public function testSetAccessorOrderAlphabetical()
 {
     $metadata = new ClassMetadata(new \ReflectionClass(PropertyMetadataOrder::class));
     $metadata->addAttributeMetadata(new PropertyMetadata(PropertyMetadataOrder::class, 'b'));
     $metadata->addAttributeMetadata(new PropertyMetadata(PropertyMetadataOrder::class, 'a'));
     $this->assertEquals(['b', 'a'], array_keys($metadata->getAttributesMetadata()));
     $metadata->setAccessorOrder(ClassMetadata::ACCESSOR_ORDER_ALPHABETICAL);
     $this->assertEquals(['a', 'b'], array_keys($metadata->getAttributesMetadata()));
 }
Esempio n. 2
0
 private function loadExposedAttribute(PropertyMetadata $metadata, array $annotations, ClassMetadata $classMetadata)
 {
     $metadata->readOnly = $metadata->readOnly || $classMetadata->readOnly;
     $accessType = $classMetadata->defaultAccessType;
     $accessor = [null, null];
     foreach ($annotations as $annotation) {
         $this->processor->process($annotation, $metadata);
         if ($annotation instanceof Annotation\AccessType) {
             $accessType = $annotation->type;
         } elseif ($annotation instanceof Annotation\Accessor) {
             $accessor = [$annotation->getter, $annotation->setter];
         }
     }
     $metadata->setAccessor($accessType, $accessor[0], $accessor[1]);
     $classMetadata->addAttributeMetadata($metadata);
 }