Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/07/2006, 12:28
Avatar de enriqueplace
enriqueplace
 
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Primer sugerencia: es casi lo mismo crear "variables globales" y "atributos públicos". Por defecto, si no le pones su "visibilidad" el intérprete lo toma como "privado".

"En resumen: no uses nunca atributos públicos"

Lo normal es que uses "atributos privados" y a veces "atributos protegidos", y cuando quieras acceso a los mismos desde fuera de la clase creas los famosos "métodos accesores/modificadores" (getter y setter). Aquí te dejo un enlace al foro donde tocamos este mismo tema.

Código PHP:
    //Atributos 
    
private        $Settings_array;
    private        
$plantilla_TemaSelec;
    public         
$TemaSelec;
    public         
$usuario_cookie;
    private        
$db
No me queda muy claro tus intenciones, ¿pero el $usuario_cookie no es el mismo que el que pasas por parámetros en el constructor, no?

Código PHP:
    //Constructor
    
function __construct($usuario_cookie)
    {
        
$this->$db = new sql_db($servidorBD$usuarioBD$passBD$nombreBDfalse);
        
$this->usuario_cookie=$usuario_cookie;
        
$this->get_config_array();
    } 
¿Y de donde vienen la variables que contienen la información de conexión?

Cita:
Iniciado por zsamer
Mi duda es que estaría volviendo ha hacer una nueva conección a la base de datos y eso podria tener problemas de performance al tener mas de una conexion abierta.

¿Es asi o no tiene impacto en el perfomance al Crear mas de una vez el objeto DB ?
Son dos cosas distintas, una cosa es tener varias instancias de un objeto, y otra es tener varias conexiones a una base.

No necesariamente es malo, pero se puede mitigar con varias estrategias. A veces caemos en el "exceso de optimización" o de "optimización prematura", cuando en verdad las bases de datos existen para usarlas, lo mismo los objetos... el problema es si lo estamos haciendo mal.

Si tu problema es la cantidad de conexiones, puedes implementar el patrón de diseño Singleton, el cual te mantiene siempre la misma conexión en todo el proceso de tu sistema.

También podrías estudiar que la información de conexión esté en un archivo de configuración y no en memoria, o directamente en la base de datos, y luego manejas una "sesión" que caduque en el tiempo (para no tener información del usuario en memoria).
__________________
Blog phpsenior.com Cursos a Distancia surforce.com