BetterReflection\Reflection\ReflectionClass::getTraits PHP Метод

getTraits() публичный Метод

You may optionally specify a source locator that will be used to locate the traits. If no source locator is given, a default will be used.
public getTraits ( ) : ReflectionClass[]
Результат ReflectionClass[]
    public function getTraits()
    {
        $traitUsages = array_filter($this->node->stmts, function (Node $node) {
            return $node instanceof TraitUse;
        });
        $traitNameNodes = [];
        foreach ($traitUsages as $traitUsage) {
            $traitNameNodes = array_merge($traitNameNodes, $traitUsage->traits);
        }
        return array_map(function (Node\Name $importedTrait) {
            return $this->reflectClassForNamedNode($importedTrait);
        }, $traitNameNodes);
    }

Usage Example

Пример #1
0
 /**
  * {@inheritDoc}
  */
 public function getTraits()
 {
     $traits = $this->betterReflectionClass->getTraits();
     $wrappedTraits = [];
     foreach ($traits as $key => $trait) {
         $wrappedTraits[$key] = new self($trait);
     }
     return $wrappedTraits;
 }