Foros del Web » Programando para Internet » PHP »

PHP OO Crear una sola conexion a la DB

Estas en el tema de Crear una sola conexion a la DB en el foro de PHP en Foros del Web. Hola, En mi home page tengo el archivo index.php, el cual contiene: require_once('conexion.php'); require_once('funciones.php'); Dentro de conexion.php tengo la clase para manipular mi DB (elegir ...
  #1 (permalink)  
Antiguo 19/02/2013, 08:03
 
Fecha de Ingreso: mayo-2007
Mensajes: 54
Antigüedad: 16 años, 11 meses
Puntos: 1
Crear una sola conexion a la DB

Hola,

En mi home page tengo el archivo index.php, el cual contiene:
require_once('conexion.php');
require_once('funciones.php');

Dentro de conexion.php tengo la clase para manipular mi DB (elegir DB, abrir conexion, etc)
Dentro de funciones.php lo que hago es definir como global la variable $db y la instancio con la clase conexion, new conexion(); y tambien abro la conexion $db -> abrirConeccion();

Basicamente, lo que quiero es instanciar solo una vez y manejarme siempre con la misma conexion. Como yo estoy incluyendo conexion.php y funciones.php dentro de index.php cada vez que se llame a index.php (es decir, cada vez que vaya a mi home page), va a instanciarse y crearse una conexion? En caso de que asi sea, como puedo hacer para que se instancie y se abra la conexion solo una vez? Espero que se haya entendido, gracias.
  #2 (permalink)  
Antiguo 19/02/2013, 08:38
 
Fecha de Ingreso: noviembre-2012
Ubicación: Caracas - Venezuela
Mensajes: 116
Antigüedad: 11 años, 4 meses
Puntos: 1
Respuesta: Crear una sola conexion a la DB

Cuando llamas a index se genera una coneccion con la BD y trabajas con solo esa coneccion, si entras a otra pagina de tu portal y necesitas conectar con la BD ahi se cierra la coneccion anterior ( si la cerraste con codigo por supuesto) y en la nueva pagina generas otra coneccion para traer datos de la BD

Si entran diversos usuarios a la pagina cada uno de ellos establece una coneccion diferente con la BD, tu trabajas con solo 1 coneccion por cada pagina que conecte con la BD

No entendi bien tu pregunta, pero básicamente cuando tu haces coneccion a la base de datos (por ejemplo index.php) tu creas una coneccion a la BD y al final de tu código cierras la conección. Con eso ya estas generando solo una conección con la BD
  #3 (permalink)  
Antiguo 19/02/2013, 08:38
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Crear una sola conexion a la DB

Depende como crees la conexión, pero basicamente y en configuraciones por defecto MySQL administra las conexiones, por ejemplo si no cambian la configuración (host, usuario, contraseña y db) MySQL siempre verificara primero si ya hay una conexión abierta, si ya existe una retoma el ID de dicha conexión en ves de crear una nueva, (ojo, es una conexión por cliente), ahora, si lo que deseas es tener un solo objeto creado (instanciado) la cosa cambia, para eso es necesario que implementes en tu clase el patrón Singleton...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #4 (permalink)  
Antiguo 19/02/2013, 08:42
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años
Puntos: 155
Respuesta: Crear una sola conexion a la DB

...pues para no estar haciendo require e include en todas los archivos, puedes aplicar el patron de diseño MVC...que te permite separar en 3 capas diferenciadas todos los procesos, las vistas, y las solicitudes...de esta forma no tienes que estar instanciando a cada rato una clase y tenes tod mas ordenado...es medio complicado de entender si todavía no estas muy canchero en PHP y OOP..te dejo unos link...

http://tednologia.com/mvc-en-php/
http://www.jourmoly.com.ar/introducc...primera-parte/
http://www.slideshare.net/eugeniabah...-eugenia-bahit (este de eugenia es muy bueno)
http://blog.undermedia.com.ec/index....mple-con-php5/

luego tienes muchos video tutorailes en YouTube, la mayoria en ingles, pero algunos muy completos y buenos como este

http://www.youtube.com/watch?v=Aw28-krO7ZM

Etiquetas: conexion
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 09:45.