PHP passage de paramètres lors de la création de nouveaux objets, call_user_func_array pour les objets

Je voudrais créer dynamiquement un objet PHP, et des paramètres facultatifs.

Par exemple, au lieu de faire ceci:

$test = new Obj($param);

Je voudrais faire quelque chose comme ceci (créer de nouveaux ob est une fiction):

$test = create_new_obj('Obj', $param);

Est-il de cette fonction en php? Quelque chose de semblable à call_user_func_array, mais pour un objet.

  • pour préciser un peu plus, le nom de la classe est variable (ça change), et $param dépend de la classe qui en est chargé. Parfois il n'y a pas de param. Il s'agit essentiellement de les charger dynamiquement à partir d'une variété de classes en fonction de la situation.
  • Je pense que ma réponse ci-dessous correspond toujours à la facture de ce que vous décrivez (variable noms de classe, en option paramètres de construction). Il n'y a aucune raison que vous ne pouvez pas passer null $param à un constructeur pour une classe qui n'en a pas besoin. Si, d'autre part, vous dites que le type de l'objet qui est créé est en fait la personne à charge sur $param, alors vous aurez envie de regarder dans quelque chose comme le Modèle de Fabrique: en.wikipedia.org/wiki/Factory_method_pattern. PHP ne peut pas gérer vos décisions de construction pour vous dans ce cas... vous aurez besoin d'écrire logique pour décider de ce qui est construit.
InformationsquelleAutor Patrick | 2010-03-31