AlgoliaSearch\Laravel\ModelHelper::hasAlgoliaTrait PHP Метод

hasAlgoliaTrait() приватный Метод

private hasAlgoliaTrait ( Model $class, $autoload = false )
$class Illuminate\Database\Eloquent\Model
    private function hasAlgoliaTrait(Model $class, $autoload = false)
    {
        $traits = [];
        // Get traits of all parent classes
        do {
            $traits = array_merge(class_uses($class, $autoload), $traits);
        } while ($class = get_parent_class($class));
        // Get traits of all parent traits
        $traitsToSearch = $traits;
        while (!empty($traitsToSearch)) {
            $newTraits = class_uses(array_pop($traitsToSearch), $autoload);
            $traits = array_merge($newTraits, $traits);
            $traitsToSearch = array_merge($newTraits, $traitsToSearch);
        }
        foreach ($traits as $trait => $same) {
            $traits = array_merge(class_uses($trait, $autoload), $traits);
        }
        $traits = array_unique($traits);
        return isset($traits['AlgoliaSearch\\Laravel\\AlgoliaEloquentTrait']);
    }