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

Como propagar un objeto de conexion entre varias clases

Estas en el tema de Como propagar un objeto de conexion entre varias clases en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Saludos! Tengo una duda sobre la manera correcta de trabajar las conexiones a la base de datos Tengo una clase de Conexion, la cual instancio ...
  #1 (permalink)  
Antiguo 15/11/2007, 16:47
Avatar de Lord Kazuky  
Fecha de Ingreso: junio-2006
Ubicación: 7F.00.00.01
Mensajes: 123
Antigüedad: 17 años, 10 meses
Puntos: 5
Pregunta Como propagar un objeto de conexion entre varias clases

Saludos!

Tengo una duda sobre la manera correcta de trabajar las conexiones a la base de datos

Tengo una clase de Conexion, la cual instancio al inicio del script y paso por parametros entre los diferentes metodos y objetos que tengo a lo largo del script

class A{
function consultar($miCon){
$resulset = $miCon->ejectarSQL("SELECT 1");
....
}
...
}
$miConexion = new ConexionBD();
B = new A()
B->consultar($miConexion);


Ahora la pregunta, es esto correcto ?
Como seria la manera optima teniendo en cuenta la seguridad, el diseño en general, la eficiencia, la necesidad de efectuar Transacciones a traves de distintos metodos de las clases

Agredezco sus comentarios.
__________________
Saludos.
"Cualquier tonto puede escribir código que un computador entiende. Los buenos programadores escriben código que los humanos pueden entender. ;)"
  #2 (permalink)  
Antiguo 15/11/2007, 17:35
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 5 meses
Puntos: 8
Re: Como propagar un objeto de conexion entre varias clases

Lo mejor es usar el patrón de diseño singleton o usar el patrón registry

Ejemplo Accesando a nuestra base de datos con PDO del blog de GatorV.

Una implementación del patrón singleton en PHP5 es la siguiente:

Código PHP:
<?php
class Db
{
    
// Contenedor Instancia de la Clase
    
private static $instance null;
 
    
// A private constructor; previene creacion de objetos via new
    
private function __construct()
    {
        echo 
'Soy el constructor';
    }
 
    
// EL metodo singleton 
    
public static function getInstance  ()
    {
        if (
null === self::$instance) {

            
self::$instance = new self;
        }
 
        return 
self::$instance;
    }
 
    
// Un metodo
    
public function connect()
    {
        return 
'connect!';
    }

    
// Otro metodo
    
public function query()
    {
        return 
'query!';
    }
 
}
saludos.

Última edición por zsamer; 15/11/2007 a las 17:43
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 10:45.