Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/02/2012, 11:44
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: validacion de instanciacion, se puede hacer esto?

Ojo que las excepciones son precisamente para eso, para casos excepcionales, o cuando la clase no pueda trabajar de la forma que necesita debido a que no hay los datos, no las uses como control de flujo de tu programa, ya que no son para eso, sí lo que quieres es por ejemplo checar que haya una conexión, dale un método a tu clase que lo haga:
Código PHP:
Ver original
  1. class db
  2. {
  3.           private $conexion;
  4.           public function __construct(/* config *)
  5.           {
  6.                    $this->config = $config;
  7.           }
  8.  
  9.           public function connect()
  10.           {
  11.                    $connect = foo();
  12.                    $this->conexion = $connect;
  13.                    return ($connect->id ? true : false);
  14.           }
  15.  
  16.            public function query($sql)
  17.            {
  18.                     if (!$this->conexion) {
  19.                              throw new Exception('no hay conexión');
  20.                     }
  21.  
  22.  
  23.                      // stuff
  24.            }
  25. }
  26.  
  27. try {
  28.       $db = new db(/* */);
  29.       if (!$db->connect()) {
  30.                 echo "no se pudo conectar";
  31.       } else {
  32.                $result = $db->query($sql);
  33.       }
  34. } catch (Exception $e) {
  35.       echo $e->getMessage();
  36. }

Saludos.