Foros del Web » Programando para Internet » PHP »

PHP OO Pasar el nombre de la clase y metodo dinamicamente al front controller

Estas en el tema de Pasar el nombre de la clase y metodo dinamicamente al front controller en el foro de PHP en Foros del Web. Buenas noches. quisiera saber si es correcto y seguro pasar el nombre de la clase y del metodo que quiero invocar al front controller via ...
  #1 (permalink)  
Antiguo 14/01/2013, 21:29
 
Fecha de Ingreso: agosto-2011
Mensajes: 1
Antigüedad: 12 años, 7 meses
Puntos: 0
Pasar el nombre de la clase y metodo dinamicamente al front controller

Buenas noches. quisiera saber si es correcto y seguro pasar el nombre de la clase y del metodo que quiero invocar al front controller via ajax, algo como esto:
Código HTML:
$.ajax({
   type : "POST",
   url : "controllers/FrontController.php",
   dataType: "json",
   data: {
        class : "AnyClass",
        funct : "AnyFunction",
        param : ParamObject,
    }
}).done(function(res){
    ok();
}).fail(function(jqXHR, textStatus){
    ohoh();
});
Y en el frontcontroller.php con el método __autoload($className) instanciar la clase y luego llamar al metodo que se pasa como parámetro

Código HTML:
$class = $_POST['class'];
$funct = $_POST['funct'];
$param = $_POST['param'];

$clInstance = _autoload($class);
if ($clInstance) {
   foreach ($param as $key => $value)
        $clInstance->_set($key, $value);

    $res = $clInstance->$funct();
    echo json_encode($res);
} else {
    echo 'error';
}

function __autoload($class) {
    $fname = '../Models/' . $class . '.php';
    if (file_exists($fname)) {
        require_once $fname;
        return new $class();
    } else {
       return false;
    }
}
  #2 (permalink)  
Antiguo 14/01/2013, 22:24
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Pasar el nombre de la clase y metodo dinamicamente al front controller

Hola que tal.

pues no esta mal la forma de realizarlo pero si deseas un poco más de seguridad puedes enviarlo a un archivo intermedio por ejemplo a un archivo que se llame intermedio, este archivo va a realizar la función de un controlador en base a la jerarquía MVC y de allí mandas a llamar a tu clase, puede ser una opción.

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125

Etiquetas: ajax, mvc, poo
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 10:59.