Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

funciones dinamicas?

Estas en el tema de funciones dinamicas? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. estoy tratando de hacer llamadas a clases y objetos dinamicamentes de la siguiente forma: Código PHP: eval( "$temp=new " . $_GET [ 'name' ]. "()" ); ...
  #1 (permalink)  
Antiguo 27/10/2008, 18:08
 
Fecha de Ingreso: julio-2002
Mensajes: 71
Antigüedad: 21 años, 9 meses
Puntos: 0
funciones dinamicas?

estoy tratando de hacer llamadas a clases y objetos dinamicamentes de la siguiente forma:


Código PHP:
eval("$temp=new ".$_GET['name']."()");
$temp->curso($_GET['curso']);

if(!isset(
$_GET['accion'])){
$temp->menu();
}else{
eval(
"$temp->".$_GET['accion']."()");

leyendo el manual me dice que se puede hacer algo similar con call_user_func()

puedo conseguir hacer la primera linea pero como hacer las siguientes? ya que "$temp->" no funciona

lo siguiente me da error:

Código PHP:
$temp=call_user_func(array($_GET['name'], $_GET['name'])); 
ojalas me hayan entendido y me puedan dar alguna luz! :D

saludos

Última edición por amarin; 27/10/2008 a las 18:16
  #2 (permalink)  
Antiguo 27/10/2008, 18:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: funciones dinamicas?

Hola amarin,

De hecho sería usar algo así:
Código php:
Ver original
  1. $resultado = call_user_func(array($temp, $_GET['name']));

Saludos.
  #3 (permalink)  
Antiguo 30/10/2008, 12:32
 
Fecha de Ingreso: julio-2002
Mensajes: 71
Antigüedad: 21 años, 9 meses
Puntos: 0
Respuesta: funciones dinamicas?

muchas gracias por responder pero no logre trabajar con esa funcion, lo que si logre y me percate despues es hacer funcionar la linea:

Código PHP:
eval("\$temp=new ".$_GET['name']."()"); 
la cual me faltaba escapar el $ que me arrojaba error

gracias nuevamente
  #4 (permalink)  
Antiguo 30/10/2008, 13:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: funciones dinamicas?

Hola amarin,

No es necesario usar eval() recuerda que es peligroso su uso, es mejor hacer algo así:
Código php:
Ver original
  1. $class = $_GET['name'];
  2. $temp = new $class();

Saludos.
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 06:19.