$class というクラスの名前と、配列 $args のコンストラクターに渡す引数を指定すると、実際に $class の新しいインスタンスを作成できますか?
else-if チェーン (サポートしたい引数の最大数まで) と eval を使用することは可能ですが、どちらもクリーンではありません。理想的には、1 行または 2 行だけのものを探しています。
Reflectionを使用してそれを行うことができます。具体的に探しているメソッドはnewInstanceArgsです
$class = 'YourClass';
$args = array ('a', 'b');
$reflection = new \ReflectionClass($class);
$classInstance = $reflection->newInstanceArgs($args);