Как избавиться от переменных при вызове методов? Вот мой класс (да велосипед и все ваши остальные термины):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
188 +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 Апр в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 989 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир