Пример:
Class A {
public function __construct() {
$this->b_Instance = new B();
}
public caller() {
$this->b_Instance->call_me($param1,$param2,$param3);
}
}
Class B {
public function __construct() {
//lots of variables here
}
public function call_me($param1,$param2,$param3) {
...
//do something with param1, but nothing with param2 and 3. just pass it.
$this->do_something($param2,$param3);
}
private function do_something($param2,$param3) {
...
//do something with param2 and 3
}
//lots of other functions here
}
Обычно я бы добавил его в конструктор B как переменную класса, однако конструктор уже заполнен множеством переменных, а параметры, передаваемые A-> caller (), используются только B-> call_me и B-> do_something в любом случае.
Каков элегантный способ предотвратить эту дополнительную передачу параметров из B-> call_me в B-> do_something? Или это даже проблема, и у меня просто ОКР?
Дополнительно: обратите внимание, что B-> call_me ничего не делает с param2 и 3, а только передает его B-> do_something, который является частной функцией.