Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/05/2016, 00:21
Avatar de Atomycko
Atomycko
 
Fecha de Ingreso: diciembre-2005
Ubicación: Zapopan Jal.
Mensajes: 92
Antigüedad: 19 años, 2 meses
Puntos: 12
Respuesta: Usar elementos de arraycomo parametros de funcion

Saludos pateketrueke!

Gracias por el dato de esta funcion, solo que en realidad lo que intento hacer es cargar clases desde otra clase, aun que si me funciono usando call_user_func_array, solo que ahora tengo que asegurarme que las clases tengan los valores por defecto en los parametros del constructor, pero por lo menos me libre del eval.

El codigo quedo mas o menos asi.
Código PHP:
class Mi_Clase_Principal{
    var 
$clases = array();
    function 
clase($clase$parametros = array(), $nueva false){
        if(isset(
$this->clases[$clase]) && !$nueva){
            return 
$this->clases[$clase];
        }
        if(!
class_exists($clase)){
            
$archivo DIRECTORIO_DE_ARCHIVOS_DE_CLASES 'clase_' $clase '.php';
            if(!
file_exists($archivo)){
                exit(
"El archivo de la clase '$clase' no existe");
            }
            include(
$archivo);
        }
        if(
class_exists($clase)){
            
$instancia = new $clase;
            if(!empty(
$parametros) && method_exists($instancia'__construct')){
                
call_user_func_array(array($instancia'__construct'), $parametros);
            }
            
$this->clases[$clase] = $instancia;
            return 
$this->clases[$clase];
        }
        exit(
"La clase '$clase' no existe");
    }

Aunque por el momento parece estar solucionado, se aceptan opiniones.

Saludos!
__________________
PD: Los acentos fueron secuestrados.