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

Manejo de excepciones

Estas en el tema de Manejo de excepciones en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola a [email protected] Estoy apenas incursionando en el asunto de POO y estoy más enredada! Les cuento, estoy validando en un método que la cuenta ...
  #1 (permalink)  
Antiguo 04/01/2010, 08:39
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 19 años, 9 meses
Puntos: 1
Exclamación Manejo de excepciones

Hola a [email protected]

Estoy apenas incursionando en el asunto de POO y estoy más enredada!

Les cuento, estoy validando en un método que la cuenta de correo no exista... y si existe debe hacer algo, tomé de ejemplo un método similar que tiene la aplicación, pero por algún motivo no pasa nada...

La idea es que si el email del contacto existe, no deje seguir ejecutando el ingreso del contacto.. al final no sé si deba hacerlo cuándo ya envío los datos para le ingreso o deba hacerlo en la vista, valido desde ahi si existe o no el email de ese contacto ¿que me recomiendan?

Así llamo al método...

Código PHP:

if ( false === $manage_contact->existsMail$_POST['contact_email'] ) )
        
    
/*si contact_email no existe, entonces continuo el ingreso...*/
    
if ( false === $manage_contact->exists$_POST['id_contact'] ) )
    {
        
$manage_contact->insert$new_contact );
    }

Lo que si funciona es el método exists realiza el ingreso correctamente....

y el método para verificar que el mail del contacto no exista está asi, y no sé si esté bien... es más no tengo claro que intento hacer ahi

Código PHP:

 
public function existsMail$contactMail )
    {
        if ( 
false !== empty( $contactMail ) )
        {
            throw new 
Exception"Company id can't be empty" );
        }

        try
        {
            
$query "SELECT
                mos_ap_contact.email
                FROM
                mos_ap_contact
                WHERE
                mos_ap_contact.email = '{$contactMail}'
            "
;

            
$result $this->dataBase->query$query );

            
$data $this->dataBase->fetchAssoc$result );

            if ( 
false === empty( $data["email"] ) )
            {
                return 
true;
            }
        }
        catch ( 
Exception $exception )
        {
            throw new 
Exception"Can't look if the contact exists ({$exception->getMessage()})" );
        }

        return 
false;
    } 

Última edición por Salome; 04/01/2010 a las 08:45
  #2 (permalink)  
Antiguo 04/01/2010, 16:52
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 16 años, 11 meses
Puntos: 55
Respuesta: Manejo de excepciones

bueno no esta del todo mal, esta casi bien

Código PHP:
Ver original
  1. public function existsMail( $contactMail )
  2.     {
  3.         if ( false !== empty( $contactMail ) )
  4.         {
  5.             throw new Exception( "Company id can't be empty" );
  6.         }
  7. /*esto lo sacamos del try pq nunca causara un excepcion ya q es una simple asignacion*/
  8. $query = "SELECT
  9.                mos_ap_contact.email
  10.                FROM
  11.                mos_ap_contact
  12.                WHERE
  13.                mos_ap_contact.email = '{$contactMail}'
  14.            ";
  15.  
  16.         try
  17.         {
  18.            
  19.  
  20.             $result = $this->dataBase->query( $query );
  21.  
  22.             $data = $this->dataBase->fetchAssoc( $result );
  23.  
  24.             if ( false === empty( $data["email"] ) )
  25.             {
  26.                 return true;
  27.             }
  28.         }
  29.         catch ( Exception $exception )
  30.         {
  31.             throw new Exception( "Can't look if the contact exists ({$exception->getMessage()})" );
  32.         }
  33.  
  34.         return false;
  35.     }

siempre deberias usar un bloque try cathc cuando consutlas algo a otra funcion pero no es necesario q anides trys y catchs

este metodo si es parte del modelo del sistema no deberia tener try catch diretametne tirar las excepciones y el controlador manejarlas

espero t sirva la ayuda
__________________
Degiovanni Emilio
developtus.com

Etiquetas: excepciones, manejo
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 04:58.