for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Kosv\RandomUser\Client;
use Kosv\RandomUser\Interfaces\QueryBuilderInterface;
use Kosv\RandomUser\Url\AbstractBuilder as AbstractUrlBuilder;
use Kosv\RandomUser\Url\Builder as UrlBuilder;
final class QueryBuilder implements QueryBuilderInterface
{
private UrlBuilder $url;
public function __construct()
$this->url = new UrlBuilder();
}
public function build(): AbstractUrlBuilder
return clone $this->url;
/**
* @return $this
*/
public function setExcludeFields(array $fields)
$this->url->setParam('exc', $fields);
return $this;
public function setGenderFilter(string $gender)
$this->url->setParam('gender', [$gender]);
public function setIncludeFields(array $fields)
$this->url->setParam('inc', $fields);
public function setNationalityFilter(array $nationalities)
$this->url->setParam('nat', $nationalities);
public function setMaxResult(int $max)
$this->url->setParam('results', [$max]);
public function setPage(int $page)
$this->url->setParam('page', [$page]);
public function setPasswordFormat(array $format)
$this->url->setParam('password', $format);