for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Amelia\Monzo;
use Amelia\Monzo\Util\QueryParams;
trait UsesQueryParams
{
/**
* Default query params.
*
* @var array
*/
protected $params = [];
* Set the "since" pagination query param.
* @param string $id
* @return void
public function since(string $id)
$this->params['since'] = $id;
}
* Set the "before" pagination query param.
public function before(string $id)
$this->params['before'] = $id;
* Set the max number of results to return from the API.
* @param int $limit
public function take(int $limit)
$this->params['limit'] = $limit;
* Expand a given key in the response.
* @param string|array $params
public function expand($params)
$params = is_array($params) ? $params : [$params];
$this->params['expand'] = $params;
* Return the currently set query parameters.
* @return array
public function params()
return $this->params;
* Set the query parameters for this request.
* @param array $params
public function setParams(array $params)
$this->params = $params;
* Build query parameters for this call.
* @param array $query
* @return string
protected function buildQueryParams(array $query)
$params = new QueryParams(array_merge($this->params, $query));
return $params->build();