Как избавиться от переменных при вызове методов? Вот мой класс (да велосипед и все ваши остальные термины):class Picture { public $size = 500000; public $type = array("image/jpg","image/png","image/jpeg"); public function getPic($file){ if($file['image']['size'] size){ return $file; } else { return 'Размер изображения превышен'; } } public function getType($file){ if(in_array($file['image']['type'],$this -> type)){ return $file; } else { return 'Неверный тип изображения'; } } } Вот так я вызываю методы:$image = new Picture(); $getPic = $image -> getPic($_FILES); $type = $image -> getType($getPic); $name = 'img'; var_dump( $image -> setName($type, $name)); Все что я вызываю, это полнейший бред, ибо это будет все в переменных и передаваться из одного метода в другой и тд. Мне нужно задать в свойствах класса $_FILE? Судя по всему нет, т.к IDE ругает меня. Подскажите, как сделать правильно.
Чтобы избавиться от передачи переменных при вызове методов, можно воспользоваться приватными свойствами класса. В данном случае, можно сохранить данные из $_FILES в приватное свойство и использовать его в методах класса.
Пример:
class Picture { private $file; public $size = 500000; public $type = array("image/jpg","image/png","image/jpeg"); public function setFile($file) { $this->file = $file; } public function getPic(){ if($this->file['image']['size'] <= $this->size){ return $this->file; } else { return 'Размер изображения превышен'; } } public function getType(){ if(in_array($this->file['image']['type'],$this->type)){ return $this->file; } else { return 'Неверный тип изображения'; } } } $image = new Picture(); $image->setFile($_FILES); $getPic = $image->getPic(); $type = $image->getType(); $name = 'img'; var_dump($image->setName($name));
Таким образом, данные из $_FILES сохраняются в приватном свойстве $file и используются в методах без необходимости передачи их как параметр.
Чтобы избавиться от передачи переменных при вызове методов, можно воспользоваться приватными свойствами класса. В данном случае, можно сохранить данные из $_FILES в приватное свойство и использовать его в методах класса.
Пример:
class Picture{
private $file;
public $size = 500000;
public $type = array("image/jpg","image/png","image/jpeg");
public function setFile($file) {
$this->file = $file;
}
public function getPic(){
if($this->file['image']['size'] <= $this->size){
return $this->file;
}
else {
return 'Размер изображения превышен';
}
}
public function getType(){
if(in_array($this->file['image']['type'],$this->type)){
return $this->file;
}
else {
return 'Неверный тип изображения';
}
}
}
$image = new Picture();
$image->setFile($_FILES);
$getPic = $image->getPic();
$type = $image->getType();
$name = 'img';
var_dump($image->setName($name));
Таким образом, данные из $_FILES сохраняются в приватном свойстве $file и используются в методах без необходимости передачи их как параметр.