$class] as $class) { $results += static::traitUsesRecursive($class); } return array_unique($results); } /** * Retrieve all traits used by a trait * @param string $trait * @return array */ public static function traitUsesRecursive($trait) { $traits = class_uses($trait) ?: []; foreach ($traits as $trait) { $traits += static::traitUsesRecursive($trait); } return $traits; } }