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 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上