Foros del Web » Programando para Internet » PHP »

Como instanciar una clase desde un string

Estas en el tema de Como instanciar una clase desde un string en el foro de PHP en Foros del Web. Hola amigos tengo que instanciar una clase desde un string, hasta aqui todo bien pero el problema es cuando ademas quiero pasarle argumentos a esa ...
  #1 (permalink)  
Antiguo 19/10/2013, 20:17
Avatar de asdmaster  
Fecha de Ingreso: marzo-2010
Mensajes: 98
Antigüedad: 14 años, 1 mes
Puntos: 2
Como instanciar una clase desde un string

Hola amigos tengo que instanciar una clase desde un string, hasta aqui todo bien pero el problema es cuando ademas quiero pasarle argumentos a esa clase.

este codigo funciona como se espera, pero no me sirve.
Código PHP:
$class "MyClass";
$Obj = new $class(); 
como lo hago para pasarle argumentos.

Código PHP:
$class "MyClass";
$Obj = new $class('valor1''valor2'); 
este segundo codigo me devuelve un error.
  #2 (permalink)  
Antiguo 19/10/2013, 20:31
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Como instanciar una clase desde un string

Pero cual es el fin de hacerlo asi?
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #3 (permalink)  
Antiguo 19/10/2013, 20:46
Avatar de asdmaster  
Fecha de Ingreso: marzo-2010
Mensajes: 98
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Como instanciar una clase desde un string

Poque estoy usando un sistema de enrutamiento segun la url;
entonces el controlador es variable y a la vez necesito pasarle dos parametros al metodo constructor.

igual podria hacerlo con metodos seter pero quiero ahorrar codigo, solo quiero saber si se puede hacer.
Saludos!
  #4 (permalink)  
Antiguo 19/10/2013, 21:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Como instanciar una clase desde un string

¿Que error te marca? No hay ningún problema en hacerlo como lo haces, ejemplo:
Código PHP:
Ver original
  1. class Foo
  2. {
  3.   public function __construct($var)
  4.     {
  5.         echo $var;
  6.     }
  7. }
  8.  
  9. $class = 'Foo';
  10. new $class('hi');

Etiquetas: clase, instanciar, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:54.