PHP程序员小白到大牛集训(12期免息)
首页 > 社区问答列表 >PHP类属性声明?

PHP类属性声明?

<?php
class Image{
    private $path;

    public function __construct($path = './'){
        $this->path = rtrim($path,'/').'/';
    }

    public function thumb($name,$width,$height,$qz='s_'){
        $data = $this->getInfo($name);
        var_dump($data);
    }

    private function getInfo($name,$path = '.'){
        $spath = $path == '.'?rtrim($this->path,'/').'/':$path.'/';

        $data = getimagesize($spath.$name);
        $imgInfo['width'] = $data[0];
        $imgInfo['height'] = $data[1];
        $imgInfo['type'] = $data[2];
        return $imgInfo;
    }

}

//$th = new Image('./image');
//$th->thumb('11587 (1).jpg',100,100);

类的成员属性,为什么有的需要提前声明,而有些不需要?

为什么需要声明属性 $path 而不需要使用 $imgInfo ?

  • hbxncjs
  • hbxncjs  已被采纳  2021-10-19 16:14:062楼

    image.png

    $imgInfo实际上是getInfo方法内的一个局部变量(数组类型的),而并不是Image类的成员属性

    +0添加回复

  • 回复
  • autoload
  • autoload    2021-10-18 08:54:071楼

    这个看你的需求,比如说Person这个类,有些属性是共有的,比如说身高、体重等你可以声明也可以不声明,private这个表示是私有的,没有办法通过对象直接添加这样的属性,只有通过声明的时候才能直接定义。

    +0添加回复

  • 回复