Как избавиться от переменных при вызове методов? Вот мой класс (да велосипед и все ваши остальные термины):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 ругает меня. Подскажите, как сделать правильно.

21 Авг 2019 в 06:58
237 +1
0
Ответы
1

Чтобы избавиться от передачи переменных при вызове методов, можно воспользоваться приватными свойствами класса. В данном случае, можно сохранить данные из $_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 и используются в методах без необходимости передачи их как параметр.

20 Апр 2024 в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир