Как оптимизировать такой вот метод? Здравствуйте!# Метод на данный момент
public function set($vars)
{
$this->vars = $vars;
}
# Вызов метода
$name = 'Имя';
$this->set(compact('name')); // работает
# Хотелось бы что-то вроде
public function set($vars)
{
$this->vars = compact($vars);
}
# И чтобы вызывать вот так
$name = 'Имя';
$this->set('name'); // ясен пень не работает
Можно ли осуществить желаемое?
Спасибо.

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

Да, можно осуществить желаемое, но нужно немного изменить логику метода set. Вместо передачи массива переменных в метод, вы можете передавать имена переменных в виде строки, а затем использовать функцию compact внутри метода.

Вот пример:

public function set(...$vars)
{
$this->vars = compact(...$vars);
}

Теперь вы можете вызвать метод set, передавая имена переменных в виде строк:

$name = 'Имя';
$this->set('name');

Это позволит вам компактно передавать имена переменных для сохранения их в свойстве $this->vars.

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