SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: cesand en Viernes 30 de Abril de 2010, 01:35

Título: mi primer objeto
Publicado por: cesand en Viernes 30 de Abril de 2010, 01:35
Gente me gustaria mostrarles mi primer objeto.. es para lograr una coneccion con mysql.. a ver qu opinan

Código: PHP
  1.  
  2. class conex
  3. {
  4.  
  5. var $host;
  6. var $user;
  7. var $pass;
  8. var $base;
  9.  
  10. function conn($var1, $var2, $var3)
  11.  {
  12.  
  13.  $host = $this -> host = $var1;
  14.  $user = $this -> user = $var2;
  15.  $pass = $this -> pass = $var3;
  16.  
  17.  $puntero = mysql_connect("$host", "$user", "$pass");
  18.  return $puntero;
  19.  
  20.   if(!$puntero)
  21.   {
  22.   die("no se pudo conectar la base de datos");
  23.   }
  24.  
  25.  }
  26.  
  27. function db($select)
  28.  {
  29.  
  30.  $base = $this -> base = $select;
  31.  
  32.  $select_db = mysql_select_db($base);
  33.  
  34.   if( !$select_db)
  35.   {
  36.   die("no selecciono base de dato");
  37.   }
  38.  
  39.  
  40.  }
  41. }
  42.  
  43.  

la coneccion la logra pero lo que no pude hacer es en esta linea

Código: PHP
  1. $select_db = mysql_select_db($base);
  2.  

quiero agregar el puntero de conexion

$select_db = mysql_select_db($base, $puntero);

pero no logro hacerlo.. me pueden dar unos consejos?

despues de esta clase lo que busco cuando la necesite usar es con un require() y por ejemplo este codigo:

Código: PHP
  1. $conexion = new conex;
  2. $base_de_datos = new conex;
  3.  
  4. $conexion -> conn("localhost", "root", "");
  5. $base_de_datos -> db("reba");
  6.  
Título: Re: mi primer objeto
Publicado por: F_Tanori en Viernes 30 de Abril de 2010, 08:57
Esto debe estar antes del return o nunca pasara por esas lineas.

Código: PHP
  1.   if(!$puntero)
  2.   {
  3.   die("no se pudo conectar la base de datos");
  4.   }
  5.  

No devuelvas mensajes en los metodos, mucho menos usando die que detendra la ejecucion del programa. mejor utiliza un estatus o un mensaje

Código: PHP
  1. function db($select)
  2.  {
  3.  
  4.  $base = $this->base = $select;    // <--- Devolveria un valor logico ya que estas haciendo una compracion.
  5.  
  6.  $select_db = mysql_select_db($base);
  7.  
  8.   if( !$select_db)
  9.   {
  10.   die("no selecciono base de dato");
  11.   }
  12.  
  13.  
  14.  

Código: PHP
  1. function db($select) {
  2.   $this->base = $select;
  3.   $this->msgError = mysql_error(); // Agregar atributo
  4.   return  mysql_select_db($this->base);
  5. }
  6.  
  7.  

Uso:

Código: PHP
  1. $conexion  = new conex;
  2. if ($conexion->conn("localhost", "root", "")){
  3.      if ($conexion->db("reba")){
  4.             echo "Conectado Correctamente!";
  5.      }else{
  6.         die ($conexion->msgError); //Aqui usa Die si es necesario
  7.     }
  8. }else{
  9.     die ($conexion->msgError);
  10. }
  11.  
Título: Re: mi primer objeto
Publicado por: shakka en Viernes 30 de Abril de 2010, 16:40
Tambien con excepciones
http://php.net/manual/en/language.exceptions.php (http://php.net/manual/en/language.exceptions.php" onclick="window.open(this.href);return false;)
Título: Re: mi primer objeto
Publicado por: cesand en Martes 4 de Mayo de 2010, 01:33
Muchas gracias por las ayudas mas alla de lo funcionalidad de esta clase me sirvio la expliacion para entender un poco mas el ogjetivo del xq hacer una clase.. no me esta resultando facil pero bueno cualquier cosa vuelvo a preguntarles..

mil gracias.