私はajax投稿経由で自分のルートに変数を送ります。私type
値の値に基づいて、私はこのように、新しいオブジェクトを作成します。symfony3/PHPで文字列変数で新しいオブジェクトを作成
if($request->get('type') === 'HardwareType'){
$e = new HardwareType();
}else if($request->get('type') === 'SetupType'){
$e => new SetupType();
}else{
new NotFoundHttpException();
}
これは私がそのまだ「醜い」を考えてすぐにでもswitch
と手に負えなくなります。私はsthを行うことができる方法はありますか?このように:あなたはあなたが必要な場合は
$e = $request->get('type');
$class = new $e();
:
$e = new $request->get('type')();
は、任意のヒントが
はEDIT私は
なぜ、コンテナを使用しないか、各クラス(またはサービスなど)に別名を付けることができます。 'new HardwareType'を実行する代わりに' $ container-> get( 'class_service_whatever_id');を使うことができます; – Andrew