Ejemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 public function getInheritedProperties()
 {
     $properties = [];
     $allProperties = array_flip(array_map(function (PropertyReflectionInterface $propertyReflection) {
         return $propertyReflection->getName();
     }, $this->reflectionClass->getOwnProperties()));
     foreach ($this->reflectionClass->getParentClasses() as $class) {
         $inheritedProperties = [];
         foreach ($class->getOwnProperties() as $property) {
             if (!array_key_exists($property->getName(), $allProperties) && !$property->isPrivate()) {
                 $inheritedProperties[$property->getName()] = $property;
                 $allProperties[$property->getName()] = null;
             }
         }
         $properties = $this->sortElements($inheritedProperties, $properties, $class);
     }
     return $properties;
 }
 /**
  * {@inheritdoc}
  */
 public function getUsedProperties()
 {
     $allProperties = array_flip(array_map(function (PropertyReflectionInterface $property) {
         return $property->getName();
     }, $this->classReflection->getOwnProperties()));
     $properties = [];
     foreach ($this->classReflection->getTraits() as $trait) {
         if (!$trait instanceof ClassReflectionInterface) {
             continue;
         }
         $usedProperties = [];
         foreach ($trait->getOwnProperties() as $property) {
             if (!array_key_exists($property->getName(), $allProperties)) {
                 $usedProperties[$property->getName()] = $property;
                 $allProperties[$property->getName()] = NULL;
             }
         }
         if (!empty($usedProperties)) {
             ksort($usedProperties);
             $properties[$trait->getName()] = array_values($usedProperties);
         }
     }
     return $properties;
 }