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

Como afecta el la función exit dentro de uan clase??

Estas en el tema de Como afecta el la función exit dentro de uan clase?? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenas a tos, Me explico un poco, estoy haciendo una clase que mediante snmwalk descarga información de un router, lo meto en una matriz y ...
  #1 (permalink)  
Antiguo 01/04/2010, 08:43
 
Fecha de Ingreso: septiembre-2008
Mensajes: 45
Antigüedad: 15 años, 7 meses
Puntos: 0
Como afecta el la función exit dentro de uan clase??

Buenas a tos,

Me explico un poco, estoy haciendo una clase que mediante snmwalk descarga información de un router, lo meto en una matriz y retorno los valores. Lo que quiero hacer es que si un router no responda o lo haga mal lo intente cinco vesces ( implementado sin problemas) pero que si pasan los cinco intentos y nos lo consigue se pare todo el script y devuelva un error.

Mi pregunta es, ¿comio puedo implementar eso? con un exit?con una excepción?

Es codigo es el siguiente

Código PHP:
static function Snmp($Mib)
    {
        
$ContadorIntentos 0;
        
        do
        {
            
$Resultado snmpwalk($this->Host$this->Comunity $Mib);
            
            
$ContadorIntentos ++;
        }
        while(
$Resultado == false || $ContadorIntentos 5);
        
                if(
$ContadorIntentos == 5)
                {
                        exit(
"Error snmp");
                 }

        return 
$Resultado;
    } 
Gracias de antemano y un saludo
  #2 (permalink)  
Antiguo 01/04/2010, 08:50
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 afecta el la función exit dentro de uan clase??

exit() lo que hace es terminar el script donde este.

Si lanzas una excepción (y no la cachas) produce un error fatal, que también termina el script.

Saludos.
  #3 (permalink)  
Antiguo 01/04/2010, 08:54
 
Fecha de Ingreso: septiembre-2008
Mensajes: 45
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Como afecta el la función exit dentro de uan clase??

Cita:
Iniciado por GatorV Ver Mensaje
exit() lo que hace es terminar el script donde este.

Si lanzas una excepción (y no la cachas) produce un error fatal, que también termina el script.

Saludos.
Muchas gracias por tu respuesta.

Según lo tengo saldría de la clase y se mostraria el error?.

Saludos y perdona mi insistencia
  #4 (permalink)  
Antiguo 01/04/2010, 09:04
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: Como afecta el la función exit dentro de uan clase??

¿Y si tu método retorna FALSE en caso de sobrepasar $intentos?

Código PHP:
Ver original
  1. static function Snmp($Mib)
  2.     {
  3.         $ContadorIntentos = 0;
  4.        
  5.         do
  6.         {
  7.             $Resultado = snmpwalk($this->Host, $this->Comunity , $Mib);
  8.            
  9.             $ContadorIntentos ++;
  10.         }
  11.         while($Resultado == false || $ContadorIntentos <5);
  12.        
  13.                 if($ContadorIntentos == 5)
  14.                 {
  15.                         return false; //AQUI FALSE
  16.                  } else {
  17.                       return $Resultado;
  18.                  }
  19.     }
  #5 (permalink)  
Antiguo 01/04/2010, 09:11
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: Como afecta el la función exit dentro de uan clase??

O

Código PHP:
Ver original
  1. static function Snmp($Mib)
  2.     {
  3.         $ContadorIntentos = 0;
  4.         $Resultado = snmpwalk($this->Host, $this->Comunity , $Mib);
  5.  
  6.          while (!$Resultado && $ContadorIntentos < 5){
  7.                    $Resultado = snmpwalk($this->Host, $this->Comunity , $Mib);
  8.                    $ContadorIntentos++;
  9.          }
  10.                    return $Resultado;
  11.     }

Ya q snmpwalk en caso de error devuelve FALSE
  #6 (permalink)  
Antiguo 01/04/2010, 09:14
 
Fecha de Ingreso: septiembre-2008
Mensajes: 45
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Como afecta el la función exit dentro de uan clase??

Cita:
Iniciado por eulloa Ver Mensaje
¿Y si tu método retorna FALSE en caso de sobrepasar $intentos?

Código PHP:
Ver original
  1. static function Snmp($Mib)
  2.     {
  3.         $ContadorIntentos = 0;
  4.        
  5.         do
  6.         {
  7.             $Resultado = snmpwalk($this->Host, $this->Comunity , $Mib);
  8.            
  9.             $ContadorIntentos ++;
  10.         }
  11.         while($Resultado == false || $ContadorIntentos <5);
  12.        
  13.                 if($ContadorIntentos == 5)
  14.                 {
  15.                         return false; //AQUI FALSE
  16.                  } else {
  17.                       return $Resultado;
  18.                  }
  19.     }
Gracias por tu respuesta.

Seria otra opción, pero entonces lo que haría es delegar la responsabilidar de cortar el proceso en otra parte de la clase.

No obstante me he equivocado al poner static ya que va ser private. y la salida de la función la va a recibir otra de la misma clase, por eso quería finalizar todo y que mostrara elmensaje
  #7 (permalink)  
Antiguo 01/04/2010, 09:16
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 afecta el la función exit dentro de uan clase??

De hecho es mejor que le delegues eso a otra clase, así tu clase es más abstracta y no rompe con el flujo de tu programa.

Saludos.
  #8 (permalink)  
Antiguo 01/04/2010, 09:46
 
Fecha de Ingreso: septiembre-2008
Mensajes: 45
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Como afecta el la función exit dentro de uan clase??

Cita:
Iniciado por GatorV Ver Mensaje
De hecho es mejor que le delegues eso a otra clase, así tu clase es más abstracta y no rompe con el flujo de tu programa.

Saludos.
Pues es cierto, tendría más sentido.

Gracias a los dos me habeís aclarado bastante la cabeza, voy a replantearme un poco la estructura.

Saludos a todos
  #9 (permalink)  
Antiguo 01/04/2010, 10:11
 
Fecha de Ingreso: septiembre-2008
Mensajes: 45
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Como afecta el la función exit dentro de uan clase??

Perfecto!!! al final he creado otro metodo que lo único que hace es validar las llamadas de ese metodo, el cual devuelve true si a los cinco intentos falla. Asi que mucho mejor.

Gracias de nuevo por todo. Saludos

Etiquetas: clase
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 07:54.