PHP类属性声明?
问题描述
<?phpclass 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 ?
问题解答
回答1:$imgInfo实际上是getInfo方法内的一个局部变量(数组类型的),而并不是Image类的成员属性
回答2:这个看你的需求,比如说Person这个类,有些属性是共有的,比如说身高、体重等你可以声明也可以不声明,private这个表示是私有的,没有办法通过对象直接添加这样的属性,只有通过声明的时候才能直接定义。
相关文章: