Foros del Web » Programando para Internet » PHP »

PHP OO singleton

Estas en el tema de singleton en el foro de PHP en Foros del Web. Hola gente necesito hacer algo similar a singleton, es decir quiero instanciar 5 veces la clase usuarios pero que no permita instanciar el mismo registro ...
  #1 (permalink)  
Antiguo 06/08/2016, 11:24
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
singleton

Hola gente
necesito hacer algo similar a singleton, es decir
quiero instanciar 5 veces la clase usuarios
pero que no permita instanciar el mismo registro mas de 1 vez:
ej:
$User = new User();
$User = $User->getByid(1);
$User = new User();
$User = $User->getByid(2);
$User = new User();
$User = $User->getByid(3);
$User = new User();
$User = $User->getByid(4);
$User = new User();
$User = $User->getByid(5);

aca la limitacion:
$User = new User();
$User = $User->getByid(1);
Si instancio nuevamente el id=1 que me devuelva lo que ya habia instanciado antes

yo me imagino un array que va guardando ids dentro de una clase pero no estoy seguro que sea lo correcto

gracias
  #2 (permalink)  
Antiguo 06/08/2016, 12:12
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: singleton

Eso lo resuelves usando cache, despues de la primera consulta guardas el resultado en el cache, de tal forma que cada vez que hagas un getById(1) recuperes la misma información si ya este en cache, si no que realice la consulta como normalmente lo hace ese mètodo
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 06/08/2016, 12:43
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: singleton

ok, pero como lo hago?
  #4 (permalink)  
Antiguo 06/08/2016, 13:59
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: singleton

requieres utilizar memcached, redis o algún otro
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: registro, singleton, usuarios
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:28.