*
* Guesses the page number from the GET parameter 'page'.
*
- * @param L10n $l10n
- * @param string $queryString The query string of the current page
- * @param integer $itemsPerPage An optional number of items per page to override the default value
+ * @param L10n $l10n
+ * @param string $queryString The query string of the current page
+ * @param int $itemsPerPage An optional number of items per page to override the default value
*/
- public function __construct(L10n $l10n, $queryString, $itemsPerPage = 50)
+ public function __construct(L10n $l10n, string $queryString, int $itemsPerPage = 50)
{
$this->l10n = $l10n;
/**
* Returns the start offset for a LIMIT clause. Starts at 0.
*
- * @return integer
+ * @return int
*/
- public function getStart()
+ public function getStart(): int
{
return max(0, ($this->page * $this->itemsPerPage) - $this->itemsPerPage);
}
/**
* Returns the number of items per page
*
- * @return integer
+ * @return int
*/
- public function getItemsPerPage()
+ public function getItemsPerPage(): int
{
return $this->itemsPerPage;
}
*
* @return int
*/
- public function getPage()
+ public function getPage(): int
{
return $this->page;
}
/**
* Sets the number of items per page, 1 minimum.
*
- * @param integer $itemsPerPage
+ * @param int $itemsPerPage
*/
- public function setItemsPerPage($itemsPerPage)
+ public function setItemsPerPage(int $itemsPerPage)
{
$this->itemsPerPage = max(1, intval($itemsPerPage));
}
/**
* Sets the current page number. Starts at 1.
*
- * @param integer $page
+ * @param int $page
*/
- public function setPage($page)
+ public function setPage(int $page)
{
- $this->page = max(1, intval($page));
+ $this->page = max(1, $page);
}
/**
*
* @param string $queryString
*/
- public function setQueryString($queryString)
+ public function setQueryString(string $queryString)
{
$stripped = preg_replace('/([&?]page=[0-9]*)/', '', $queryString);