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

Duda metodo estatico y clase

Estas en el tema de Duda metodo estatico y clase en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola Tengo un duda, tengo una clase mysql que maneja la bd, esa clase tiene un método getInstance que implementa singleton, los parámetros de conexión ...
  #1 (permalink)  
Antiguo 05/04/2010, 16:07
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 8 meses
Puntos: 2
Pregunta Duda metodo estatico y clase

Hola

Tengo un duda, tengo una clase mysql que maneja la bd, esa clase tiene un método getInstance que implementa singleton, los parámetros de conexión los recibe a través de un método estático, llamado create, la duda es el constructor debo implementarlo o no, me explico debo utilizar el constructor para algo es recomendable.

Saludos

Fenris
  #2 (permalink)  
Antiguo 05/04/2010, 16:14
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 metodo estatico y clase

Pues en teoría no, ya que si tu clase implementa Singleton el constructor debe de ser privado para evitar que se construya.

Saludos.
  #3 (permalink)  
Antiguo 05/04/2010, 16:19
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Duda metodo estatico y clase

ahh entiendo, lo que pasa es que antes con otra implementacion lo ocupaba para pasarle los parametros de conexion y el nombre de la base de datos, este creaba atributos de clase y llamaba al metodo connect asi no tenia que pasarle parametros a connect si no que este metodo cuando era invocado ya se habian creado los parametros, como podria hacerlo, denme alguna idea al parecer estoy medio bloqueado.

Saludos
  #4 (permalink)  
Antiguo 05/04/2010, 20:32
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 metodo estatico y clase

Ese es el problema más que nada, como resolverlo hay muchas formas, la más común usando getters y setters y un método connect() (o sea no conectar en el construct).

Pero en general no se recomienda usar Singleton en clases que sean conexiones a bases de datos, ya que te limitas a una sola base de datos durante la ejecución de tu script.

Saludos.
  #5 (permalink)  
Antiguo 08/05/2010, 17:51
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 15 años, 8 meses
Puntos: 2
Pregunta Respuesta: Duda metodo estatico y clase

GatorV

Cita:
Pero en general no se recomienda usar Singleton en clases que sean conexiones a bases de datos, ya que te limitas a una sola base de datos durante la ejecución de tu script.
Cuando conectas una bd y usas singleton debería siempre retornar el mismo link de conexión (resource) no limitarte a usar una sola base de datos ya que eso lo puedes arreglar usando el patrón factory de esa manera puedes usar mas de una base de datos y usando singleton puedes tener un único link de conexión para cada una de esas bases de datos.

Esta bien mi planteamiento o no.

Saludos
  #6 (permalink)  
Antiguo 09/05/2010, 11:21
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 metodo estatico y clase

Para eso es mejor usar el patrón Registry y almacenar la instancia de la base de datos y así guardas tu objeto y puedes almacenar más objetos.

Saludos.

Etiquetas: clase, estatico, metodo
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 03:17.