Foros del Web » Programando para Internet » PHP »

is_readable - is_callable - call_user_func - call_user_func_array

Estas en el tema de is_readable - is_callable - call_user_func - call_user_func_array en el foro de PHP en Foros del Web. Estoy creando mi propio Framework, basado en una guía, tengo entendido que (is_readable y is_callable) se usan mas bien para APIs y que en mi ...
  #1 (permalink)  
Antiguo 28/04/2014, 10:29
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
is_readable - is_callable - call_user_func - call_user_func_array

Estoy creando mi propio Framework, basado en una guía, tengo entendido que (is_readable y is_callable) se usan mas bien para APIs y que en mi caso no serian necesarias, me gustaría saber cual es la forma más adecuada en mi caso, gracias

(call_user_func - call_user_func_array) Tambien tengo interes por estas dos y si son las mas adecuadas, gracias

Código PHP:
<?php
    
/*LLAMA-CONTROLADORES-METODOS*/
    
class Bootstrap {
        public static function 
run(Request $peticion) { //Recogemos Controlador/Metodo/Argumentos de application/Request.php
            
$controlador $peticion->getControlador().'Controller'//Controlador pedido
            
$rutaControlador ROOT.'controllers'.DS.$controlador.'.php'//Ruta del Controlador pedido
            
$metodo $peticion->getMetodo(); //Metodo pedido
            
$args $peticion->getArgs(); //Argumentos pedidos

            
if (is_readable($rutaControlador)) { //Comprobamos que exista y sea legible el Controlador
                
require_once $rutaControlador//Cargamos el controlador
                
$controlador = new $controlador(); //Instanciamos la Clase en un Objeto

                
if (is_callable(array($controlador$metodo))) { //Verifica que los contenidos de una variable puedan ser llamados como una función
                    
$metodo $peticion->getMetodo(); //Devolvemos el Metodo pedido
                
} else {
                    
$metodo 'index'//Devolvemos el Metodo por defecto
                
}

                if (isset(
$args)) { //Comprobamos que existan los Argumentos
                    //Llamar una función de usuario dada con una matriz de parámetros
                    
call_user_func_array(array($controlador$metodo), $args);
                } else {
                    
//Llamar a una llamada de retorno dada por el primer parámetro
                    
call_user_func(array($controlador$medoto));
                }
            } else {
                
//Informamos que no existe la Ruta del Controlador
                
throw new Exception('No existe el Controlador: \'controllers/'.$controlador.'.php\'');
            }
        }
    }
?>
  #2 (permalink)  
Antiguo 28/04/2014, 10:32
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: is_readable - is_callable - call_user_func - call_user_func_array

is_readable es diferente a lo que hace is_callable. is_readable es para verificar archivos y el otro es para verificar si el contenido de una variable se puede llamar como una función.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: variable
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 15:52.