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這個表示是私有的,沒有辦法通過對象直接添加這樣的屬性,只有通過聲明的時候才能直接定義。
相關文章:
