PHP分页类


page   = intval($page);
        $this->number = intval($number);
        $this->count  = intval($count);

        $this->handleNumber();
        $this->handlePage();
    }

    public function getMaxPage()
    {
        return ceil($this->count / $this->number);
    }

    public function handleNumber()
    {
        $this->number = $this->number > 0 ? $this->number : 1;
    }

    public function handlePage()
    {
        $maxPage = $this->getMaxPage();

        $this->page = $this->page > $maxPage ? $maxPage : $this->page;
        $this->page = $this->page < $this->minPage ? $this->minPage : $this->page;
    }

    public function getPage()
    {
        return $this->page;
    }

    public function getNumber()
    {
        return $this->number;
    }

    public function getSafeNumber()
    {
        return $this->number > $this->count ? $this->count : $this->number;
    }

    public function getMinPage()
    {
        return $this->minPage;
    }

    public function getCount()
    {
        return $this->count;
    }

    public function getOffset()
    {
        return ($this->page - 1) * $this->number;
    }


}

使用示例

$page    = 3;
$number  = 10;
$count   =  21;
$pageService = new Page($page, $number, $count);

$pageService->getPage()  // 3
$pageService->getNumber() // 10
$pageService->getCount() //21
$pageService->getMaxPage() //3
$pageService->getSafeNumber() // 1

你可能感兴趣的:(PHP分页类)