PHP 分页类
checkPage方法中 $this指向了自己的类名 $this->Page 并且如果存在的话 $this->Page 还可以加一 ;这句话什么意思?
自己的理解:
当类实例化后,$this会同时被实例化为本类的对象 一般是指向类中的属性或方法 指向类名是什么意思?而且还可以加一难道说 $this->Page是一个整形?
求各位解释一下,此代码是书上的实例应该不会有错
<?php
//自定义分页类
class Page
{
public $page = 1; //当前页
public $pageSize = 5; //页大小
public $maxRows =0; //总数据条数
public $maxPage =0; //总页数
public function __construct($maxRows,$pageSize)
{
$this->maxRows = $maxRows;
$this->pageSize = $pageSize;
$this->page = isset($_GET['p'])?$_GET['p']:1;
$this->loadMaxPage();
$this->checkPage();
}
//计算最大页数
protected function loadMaxPage()
{
$this->maxPage = ceil($this->maxRows/$this->pageSize);
}
//验证当前的有效性
protected function checkPage()
{
if(isset($this->Page))$this->Page = $this->Page+1;
if($this->page > $this->maxPage){
$this->page = $this->maxPage;
}
if(isset($this->Page))$this->Page = $this->Page-1;
if($this->page < 1){
$this->page = 1;
}
}
public function limit()
{
return (($this->page-1)*$this->pageSize).",".$this->pageSize;
}
//输出分页信息
public function show()
{
$url = $_SERVER["PHP_SELF"];
//处理参数,实现状态维持
$params = "";
foreach($_GET as $k=>$v){
if($k!="p" && !empty($v)){
$params .= "&".$k."=".$v;
}
}
$str = "当前第{$this->page}/{$this->maxPage}页 共计{$this->maxRows}条 ";
$str .= " 首页 ";
$str .= " 上一页 ";
$str .= " 下一页 ";
$str .= " 尾页 ";
return $str;
}
}