Marcelgwerder\ApiHandler\Parser::__construct PHP Метод

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

Instantiate the Parser class
public __construct ( mixed $builder, array $params )
$builder mixed
$params array
    public function __construct($builder, $params)
    {
        $this->builder = $builder;
        $this->params = $params;
        $this->prefix = Config::get('apihandler.prefix');
        $this->envelope = Config::get('apihandler.envelope');
        $isEloquentModel = is_subclass_of($builder, '\\Illuminate\\Database\\Eloquent\\Model');
        $isEloquentRelation = is_subclass_of($builder, '\\Illuminate\\Database\\Eloquent\\Relations\\Relation');
        $this->isEloquentBuilder = $builder instanceof EloquentBuilder;
        $this->isQueryBuilder = $builder instanceof QueryBuilder;
        if ($this->isEloquentBuilder) {
            $this->query = $builder->getQuery();
        } else {
            if ($isEloquentRelation) {
                $this->builder = $builder->getQuery();
                $this->query = $builder->getBaseQuery();
                $this->isEloquentBuilder = true;
            } else {
                if ($isEloquentModel) {
                    //Convert the model to a builder object
                    $this->builder = $builder->newQuery();
                    $this->query = $this->builder->getQuery();
                    $this->isEloquentBuilder = true;
                } else {
                    if ($this->isQueryBuilder) {
                        $this->query = $builder;
                    } else {
                        throw new InvalidArgumentException('The builder argument has to the wrong type.');
                    }
                }
            }
        }
        $this->originalBuilder = clone $this->builder;
        $this->originalQuery = clone $this->query;
    }