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