У меня возникают трудности с поиском способа реализации «настраиваемого» поведения в классе фабрики в PHP.
У меня есть класс, который принимает другой класс в качестве аргумента в своем конструкторе.
Класс аргумента может принимать несколько аргументов в своем конструкторе. Экземпляр моего основного класса может выглядеть примерно так
$instance = new MyClass(new OtherClass(20, true));
$instance2 = new MyClass(new DifferentClass('test'));
Это довольно неуклюже и имеет ряд проблем, и поэтому я хотел бы перенести это в фабричный класс.
Проблема заключается в том, что этой фабрике каким-то образом необходимо знать, как создавать экземпляр класса аргументов, поскольку этот класс может иметь любое количество аргументов в конструкторе.
Желательно, чтобы я мог сделать что-то подобное
$instance = Factory::build('OtherClass');
$instance2 = Factory::build('DifferentClass');
И пусть фабрика получает аргументы из массива конфигурации или аналогичного.