登陆

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 ?

# PHP
A _ Q _i_A _ Q _i_7 天前97 次浏览

全部回复(2)我要回复

  • hbxncjs

    hbxncjs2021-10-19 16:14:06

    image.png

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

    回复
    0
  • 逆旅行人

    逆旅行人2021-10-18 08:54:07

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

    回复
    0
  • 取消回复发送