Foros del Web » Programando para Internet » PHP »

PHP OO Duda con OOP

Estas en el tema de Duda con OOP en el foro de PHP en Foros del Web. Hola, Tengo algunas dudas sobre OOP, por ejemplo si tengo lo siguiente: $conexion = new Gestor(); $conexion->openConnection(); $conexion->query("select * from table"); $conexion->closeConnection(); Y tengo el ...
  #1 (permalink)  
Antiguo 18/02/2013, 12:14
 
Fecha de Ingreso: mayo-2007
Mensajes: 54
Antigüedad: 16 años, 11 meses
Puntos: 1
Duda con OOP

Hola,

Tengo algunas dudas sobre OOP, por ejemplo si tengo lo siguiente:

$conexion = new Gestor();
$conexion->openConnection();
$conexion->query("select * from table");
$conexion->closeConnection();


Y tengo el constructor y destructor definidos en la clase Gestor, luego de la linea $conexion->closeConnection();

1) se estaria llamando al destructor implicitamente?
2) Es correcto abrir, consultar y cerrar la conexion a la DB cada vez que quiero hacer una query

Por otro lado, si tengo algo similar a lo siguiente:
include("header.php");

$page = $_GET['go'];
switch ($page) {
case "1": include("content/script1.php");
break;
case "2" include("content/script2.php");
break;

include("footer.php");

Es decir, segun el valor que me envien por GET voy a llamar a un script u otro. Viendo esa logica la veo estructurada, como harian para construir una clase con esa logica?

Muchas gracias
  #2 (permalink)  
Antiguo 18/02/2013, 12:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Duda con OOP

Respecto a tus dudas 1 y 2.

1.- No, no se llama al destructor de forma implícita, para que el destructor se ejecute, es necesario borrar el objeto de la memoria, usando unset() o asignándolo a null.
2.- Tampoco, eso va a hacer tu script muy lento, si vas a ejecutar muchas consultas lo mejor es abrir una vez, hacer todas tus consultas y solo al final de todo cerrar la conexión.

Saludos.

Etiquetas: oop, select
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 12:50.