<?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);
클래스의 일부 멤버 속성은 미리 선언해야 하는 반면 다른 속성은 그렇지 않은 이유는 무엇입니까?
$imgInfo를 사용하는 대신 $path 속성을 선언해야 하는 이유는 무엇인가요?
autoload2021-10-18 08:54:07
이는 필요에 따라 다릅니다. 예를 들어 Person 클래스에서는 키, 몸무게 등과 같은 일부 속성이 공통입니다. 이를 선언하거나 선언하지 않을 수 있습니다. 이는 비공개를 통해 이러한 속성을 직접 추가할 수 있는 방법이 없습니다. 객체는 선언을 통해서만 직접 정의할 수 있습니다.