qq_57931996 2023-04-17 17:10 采纳率: 88.9%
浏览 24
已结题

PHP中伪变量$this指向自己的类名是什么意思?

PHP 分页类
checkPage方法中 $this指向了自己的类名 $this->Page 并且如果存在的话 $this->Page 还可以加一 ;这句话什么意思?
自己的理解:
当类实例化后,$this会同时被实例化为本类的对象 一般是指向类中的属性或方法 指向类名是什么意思?而且还可以加一难道说 $this->Page是一个整形?
求各位解释一下,此代码是书上的实例应该不会有错

img


<?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;
    }
     
}
  • 写回答

4条回答 默认 最新

  • CSDN专家-showbo 2023-04-17 17:18
    关注

    $this指向实例本身,Page属性是不是打错了?小写的p吧?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月17日
  • 已采纳回答 4月17日
  • 创建了问题 4月17日

悬赏问题

  • ¥15 怎么把512还原为520格式
  • ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
  • ¥15 求高通平台Softsim调试经验
  • ¥15 canal如何实现将mysql多张表(月表)采集入库到目标表中(一张表)?
  • ¥15 wpf ScrollViewer实现冻结左侧宽度w范围内的视图
  • ¥15 栅极驱动低侧烧毁MOSFET
  • ¥30 写segy数据时出错3
  • ¥100 linux下qt运行QCefView demo报错
  • ¥50 F1C100S下的红外解码IR_RX驱动问题
  • ¥20 基于matlab的航迹融合 航迹关联 航迹插补