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

Singleton en PHP

Estas en el tema de Singleton en PHP en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola A todos , acabo de pasarme a PHP 5, he escuchado acerca de singleton una forma de manejar objetos, resulta que no me funciona ...
  #1 (permalink)  
Antiguo 14/09/2006, 15:35
Avatar de inicio_paul  
Fecha de Ingreso: julio-2004
Mensajes: 46
Antigüedad: 14 años
Puntos: 1
Exclamación Singleton en PHP

Hola A todos , acabo de pasarme a PHP 5, he escuchado acerca de singleton
una forma de manejar objetos, resulta que no me funciona tal como parece ya que mis objetos se destruyen al terminar de ejecutar el script ( actualizando a otra pagina o pasando a otra página) no se como podria mantener mis objetos en memoria en el servidor y ya no trabajar sessiones


"Me dicho que tiene que ver algo con la configuracion del Apache o las variables del servidor , o me han dicho de variables de aplicación"

Gracias de antemano;
  #2 (permalink)  
Antiguo 14/09/2006, 15:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 16 años, 6 meses
Puntos: 126
Revisa este comentario al respecto:

http://www.forosdelweb.com/showpost....5&postcount=12

Vas a tener que continuar usando sesiones si usas PHP o no usar PHP si quieres implementar un "singleton" como los que usas en otros lenguajes.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 14/09/2006, 15:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 12 años, 1 mes
Puntos: 2126
Hola Paul

Primero, el patrón SingleTon te sirve para mantener una instancia unica de una clase por aplicacion. Eso espero te quede claro.

Ahora el problema, es que PHP no es un lenguaje "persistente" que quiero decir con esto? que cada que tu inicias una comunicacion es un entrada a tu aplicacion se ejecuta y se limpia al final de la ejecucion y se envia la salida al usuario, a la siguiente llamada es igual, se inicia, ejecuta y termina.

Esto es propia naturaleza del lenguaje PHP, no es como Java en este aspecto que puedes tener clases persistentes a lo largo de la sesion del usuario.

Yo te sugiero que sigas con tus Sesiones o implementes un wrapper donde puedas guardar variables persistentemente a lo largo del script (pero que de fondo se comunican via con las variables de sesion o via bases de datos).
  #4 (permalink)  
Antiguo 14/09/2006, 22:33
 
Fecha de Ingreso: marzo-2006
Mensajes: 39
Antigüedad: 12 años, 4 meses
Puntos: 0
De acuerdo

buen comentario gatorv .. sabes si en asp .net es igual?
io tamb estoy intentando eso de los patrones en php5
  #5 (permalink)  
Antiguo 15/09/2006, 06:53
foo
 
Fecha de Ingreso: febrero-2006
Mensajes: 278
Antigüedad: 12 años, 5 meses
Puntos: 0
Cita:
sabes si en asp .net es igual?
definitivamente no
  #6 (permalink)  
Antiguo 15/09/2006, 08:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 12 años, 1 mes
Puntos: 2126
A lo mas que puedes llegar es "simular" por ejemplo, usando conexiones persistentes a la base de datos, y guardando tus objetos en variables de sesion.
  #7 (permalink)  
Antiguo 15/09/2006, 11:21
Avatar de inicio_paul  
Fecha de Ingreso: julio-2004
Mensajes: 46
Antigüedad: 14 años
Puntos: 1
Hola entonces se podria decir que en java usando los jsp sucede lo mismo el mecanismo del singleton es solo una simulación...

  #8 (permalink)  
Antiguo 15/09/2006, 11:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 12 años, 1 mes
Puntos: 2126
Asi es porque cada request es una nueva conexion ( o un hit mas ), es como se maneja todo en el web, cada que tu quieres ver una pagina, y tiene fotos son varios "hits" o visitas ya que por cada imagen se realiza una conexion nueva al servidor para descargar contenido.
  #9 (permalink)  
Antiguo 15/09/2006, 11:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 12 años, 1 mes
Puntos: 2126
y otra cosa no es una "simulacion" como lo pones tu, realmente se puede implementar el patron Singleton con exito solo que solo es valido por esa instancia de ejecucion.
  #10 (permalink)  
Antiguo 15/09/2006, 11:56
foo
 
Fecha de Ingreso: febrero-2006
Mensajes: 278
Antigüedad: 12 años, 5 meses
Puntos: 0
Cita:
Iniciado por inicio_paul Ver Mensaje
Hola entonces se podria decir que en java usando los jsp sucede lo mismo el mecanismo del singleton es solo una simulación...

no, no puedes comparar la forma de trabajo de php con la de jsp o asp.nets
  #11 (permalink)  
Antiguo 20/09/2006, 08:24
Avatar de Mulato  
Fecha de Ingreso: diciembre-2001
Ubicación: Caracas
Mensajes: 158
Antigüedad: 16 años, 7 meses
Puntos: 0
De acuerdo En ASP.Net si lo puedes hacer..

Cita:
Iniciado por foo Ver Mensaje
definitivamente no
Saludos...

En ASP.NET puedes crear tu objeto en una clase o mejor aún desde un Webservice e instanciarlo desde cualquier otra instancia en el momento que lo desea e inclusive para un objeto o rutina en en especifico, aparte de ello tu objeto queda instanciada en el framework lo que te permite invocarlo cuantas veces quieras sin tener que ejecutarlo de nuevo... Recuerda que el modelo de ASP.NET es orientado a objetos y en consecuencia la lectura de las sentencias no es interpretada como en PHP.

Particularmente si tienes la posibilidad de elejir entre ambos te recomiendo ASP.NET, pues tienes muchos recursos y es mas flexible a la hora de programar, en PHP tienes que hacer todo a mano, lo que te da la posibilidad de desarrollar tu intelecto al maximo.
__________________
Necesito aprender para compartir mi saber...
  #12 (permalink)  
Antiguo 20/09/2006, 08:58
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 13 años, 1 mes
Puntos: 32
Deessspacio... despacio.. que podemos caer por el barranco

Cita:
Iniciado por Mulato Ver Mensaje
En ASP.NET puedes crear tu objeto en una clase o mejor aún desde un Webservice e instanciarlo desde cualquier otra instancia en el momento que lo desea e inclusive para un objeto o rutina en en especifico, aparte de ello tu objeto queda instanciada en el framework lo que te permite invocarlo cuantas veces quieras sin tener que ejecutarlo de nuevo... Recuerda que el modelo de ASP.NET es orientado a objetos y en consecuencia la lectura de las sentencias no es interpretada como en PHP.
Claramente PHP, Java y .Net son cosas distintas, pero el contexto es el mismo, la forma de trabajo en un ambiente web. De ahí que existan "de serie" (de fábrica, desde el diseño de la arquitectura) soluciones técnicas para suplir determinados comportamientos no convenientes y ofrecer más funcionalidad, es otro tema.

Perfectamente se pueden implementar muchas soluciones para que en PHP funcione, pero no tiene nada que ver que sea "interpretado" o "compilado", menos o más "orientado a objetos" (y ahí ya tienes una rueda en el borde del barranco).

Cita:
Iniciado por Mulato Ver Mensaje
Saludos...
Particularmente si tienes la posibilidad de elejir entre ambos te recomiendo ASP.NET, pues tienes muchos recursos y es mas flexible a la hora de programar, en PHP tienes que hacer todo a mano, lo que te da la posibilidad de desarrollar tu intelecto al maximo.
Acá tienes la segunda rueda en el barranco, más si haces este tipo de sugerencias en el foro de PHP y POO, por lo que no tiene mucho sentido (no porque no puedas expresarte, no corresponde según la temática del foro donde estás parado )

No hay que confundir, y lo repito hasta aburrirme, y lo vuelvo a repetir otra vez, que PHP sigue siendo al día de hoy *solo un lenguaje de programación* con fuerte tendencia en convertirse en una "plataforma de desarrollo" (aunque hoy día un desarrollador puede agregar muchos "complementos" para que este lenguaje actúe "como" una plataforma).

La "plataforma Java" tiene un lenguaje de programación que se llama Java, pero eso solo no lo hace "plataforma". La "plataforma .Net" tiene varios lenguajes, pero cada uno de ellos no hacen la "plataforma"... son "parte de".

Solo conociendo y reconociendo nuestra realidad, nuestras debilidades y fortalezas, vamos a poder evolucionar hacia "otro nivel". Tampoco decir que PHP es lo mejor del mundo y que compite directamente con Java o .Net ayuda mucho.

Java y .Net no son solo lenguajes, son plataformas de desarrollo. No se puede -actualmente- comparar una cosa con la otra, porque son de "distinto tipo", peras y bananas, manzanas y naranjas...
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #13 (permalink)  
Antiguo 20/09/2006, 12:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 12 años, 1 mes
Puntos: 2126
Muy buen post Enrique, creo has dicho acertado todo, y te falto igual comentar de Ruby y Rails, como es la separacion entre Framework (Rails) y Lenguaje (Ruby).
  #14 (permalink)  
Antiguo 21/09/2006, 08:07
Avatar de Mulato  
Fecha de Ingreso: diciembre-2001
Ubicación: Caracas
Mensajes: 158
Antigüedad: 16 años, 7 meses
Puntos: 0
Cita:
Iniciado por enriqueplace Ver Mensaje
Deessspacio... despacio.. que podemos caer por el barranco

Acá tienes la segunda rueda en el barranco, más si haces este tipo de sugerencias en el foro de PHP y POO, por lo que no tiene mucho sentido (no porque no puedas expresarte, no corresponde según la temática del foro donde estás parado )

No hay que confundir, y lo repito hasta aburrirme, y lo vuelvo a repetir otra vez, que PHP sigue siendo al día de hoy *solo un lenguaje de programación* con fuerte tendencia en convertirse en una "plataforma de desarrollo" (aunque hoy día un desarrollador puede agregar muchos "complementos" para que este lenguaje actúe "como" una plataforma).

La "plataforma Java" tiene un lenguaje de programación que se llama Java, pero eso solo no lo hace "plataforma". La "plataforma .Net" tiene varios lenguajes, pero cada uno de ellos no hacen la "plataforma"... son "parte de".

Solo conociendo y reconociendo nuestra realidad, nuestras debilidades y fortalezas, vamos a poder evolucionar hacia "otro nivel". Tampoco decir que PHP es lo mejor del mundo y que compite directamente con Java o .Net ayuda mucho.

Java y .Net no son solo lenguajes, son plataformas de desarrollo. No se puede -actualmente- comparar una cosa con la otra, porque son de "distinto tipo", peras y bananas, manzanas y naranjas...
Acepto tu acotación...

Solo que el hecho de sugerir ASP.NET en especifico con C# o Visual.NET no quiere decir que sea un sacrilegio en un foro de PHP, para los que hemos programado en .Net migrar a PHP sin especificar las circunstancias, significa un retroceso dado a que como tu mencionas ya tiene una plataforma de desarrollo, Yo soy un novato en PHP y trabajo con eclipse tal vez por eso lo veo así, que algo que en .Net lo desarrollo en una semana en PHP me llevaria 2 meses (es mi caso particular), por eso aclare, "si tienes la posibilidad", para recomendar... Tal vez cuando domine PHP reducire el tiempo de programación. De todas maneras te agradezco el mencionar que estoy enbarrancado, no quize poner en discusión si PHP tal o ASP.NET tal... pero en fin es tu percepción...
__________________
Necesito aprender para compartir mi saber...
  #15 (permalink)  
Antiguo 21/09/2006, 13:43
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 13 años, 1 mes
Puntos: 32
Cita:
Iniciado por Mulato Ver Mensaje
Acepto tu acotación...
Solo que el hecho de sugerir ASP.NET en especifico con C# o Visual.NET no quiere decir que sea un sacrilegio en un foro de PHP, para los que hemos programado en .Net migrar
Para nada, yo no digo que debas ser "excomulgado", solo que se espera en un foro de PHP que se resuelvan problemas de PHP con PHP, no con otro lenguaje. No porque seamos "intolerantes" , solo para estar a tono con la temática del foro.

Si a cada problema complicado yo te digo "eso no está implementado en PHP, pasate a Java urgente" no sería nada constructivo; de la misma forma, tal vez sería más productivo decir "eso no está implementado en PHP, pero en Java sí y de esta forma, pero perfectamente podríamos hacerlo en PHP".

Eso es lo que trato de hacer constantemente con PHP, escribir sobre temas que son muy comunes y usados en ambientes como .Net y Java (tuve estudios académicos en ambos, pero no soy experto en ninguno de ellos) y trato de pasar esa experiencia al mundo PHP.

En el mundo PHP aún muchos desarrolladores trabajan a nivel de scripting, otros estructurados, algunos menos combinan estructurados y objetos, pocos 100% orientado a objetos, y aún más extraño es ver uso de Patrones de Diseño (ojo, también he visto desarrolladores en las "plataformas" que no tienen idea de esto último).

Pero bueno, PHP está apuntando hacia ese lado, a ser una "plataforma" y hoy día tienes muchos "complementos" que te ayudan a "subir de nivel".

Cita:
Iniciado por Mulato Ver Mensaje
a PHP sin especificar las circunstancias, significa un retroceso dado a que como tu mencionas ya tiene una plataforma de desarrollo, Yo soy un novato en PHP y trabajo con eclipse tal vez por eso lo veo así, que algo que en .Net lo desarrollo en una semana en PHP me llevaria 2 meses (es mi caso particular), por eso aclare, "si tienes la posibilidad",
Esa es casi una discusión bizantina... si tu tienes mucha experiencia en cualquier lenguaje, muy probablemente vas a trabajar mucho más rápido en él que si te dieran un entorno de "4ta Generación" ("programas que generan programas"), pero que desconoces.

Definición de "Discusión bizantina": "se utiliza hoy para ridiculizar las discusiones intrascendentes y ociosas de las personas que no tienen en cuenta los problemas reales y acuciantes."

Por eso te comentaba en la otra entrada, es importante ver los defectos y las virtudes, claramente, sin fanatismos, y tener la suficiente autocrítica para corregir los errores y poder evolucionar.

Por ejemplo: en mis ratos libres -que no tengo- estoy tratando de aprender y comprender Ruby On Rails (usarlo bien, no usarlo por decir "lo uso"), y todavía, a pesar de toda la publicidad y moda que hay con el "desarrollo rápido que se obtiene con el uso del framework", todavía voy muuuuuy lento (no me sale nada parecido a las demostraciones grabadas en video de las presentaciones de los expertos del tema).

¿Se entiende?

Cita:
Iniciado por Mulato Ver Mensaje
para recomendar... Tal vez cuando domine PHP reducire el tiempo de programación. De todas maneras te agradezco el mencionar que estoy enbarrancado, no quize poner en discusión si PHP tal o ASP.NET tal... pero en fin es tu percepción...
Toma los comentarios que te hago de forma amistosa y cordial, no estoy buscando imponer un punto de vista, mi punto de vista, solo fue mi opinión al respecto de tus comentarios.

Además, los ángeles son todos asexuados
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #16 (permalink)  
Antiguo 21/09/2006, 15:27
 
Fecha de Ingreso: septiembre-2005
Mensajes: 142
Antigüedad: 12 años, 10 meses
Puntos: 3
Bueno primero saludos a todos ya hacía tiempo que no me pasaba por aqui, al menos veo que enrique sigue defendiendo la plaza, bueno sobre la polemica .net vs php no me voy a meter yo actualmente trabajo como analista en arquitectura .net aunque para mis negocios personales utilizo php5 en concreto Zend Framework o Ruby en su aplicación Rails. Por cierto estan estudiando la implantación de Ruby en la arquitectura .Net ^^

Pero bueno vamos a lo del Singleton estoy leyendo muchas locuras. Vamos por pasos nunca y repito nunca metais la conexión de base de datos en sesiones creo que es obvio no?. Bien vamos a poner un ejemplo de singleton a grandes trazos. Si tenemos el siguiente modelo típico de un videoclub:



y aunque fuese extraño e incoherente queremos mostrar todos los clientes y todas las peliculas que tenemos que cada clase de la capa de negocio : clientes, alquiler, películas tiene un singleton que obtiene la conexion a base d e datos así siguiendo el ejemplo tendríamos:
Código PHP:

public function ListarSociosPelicuasAction(){
   
   
$this->view->assign("titulo","Listado de socios y peliculas");   

   
$sociosObj = new Socios();
   
$peliculasObj = new Peliculas();

   
$socios$clientesObj->fetchAll();
   
$peliculas $peliculasObj->fetchAll();

   
$this->view->assign("socios",$clientes);
   
$this->view->assign("peliculas",$peliculas );

   echo 
$this->view->render('ListarSociosPelicuas.tpl.php');

}
.... 
Tendríamos que cada modelo tiene por herencia un objeto ADODB pero que esta dominado por DatabaseManager que es un Singleton. Esto quiere decir que aunque tengamos muchos objetos de la capa de negocio que tengas por herencía un objeto conexión ADODB gracias a singleton solo tendremos una instancia todas las demás serán referencias a esa instancia.

Espero que os sea de ayuda, el ejemplo lo he basado en Zend Framework como no jejeje parece que me paguen o algo o debe ser eso ... jajaja

P.D
el uml lo he hecho con ArgoUML
He utilizado como IDE he utilizado Eclipse
Y como modelo de framework el de Zend
Todo el software utilizado es Open Source
Tanto Cake como Symfony utilizan el mismo sistema MVC (a grandes trazos) así que espero que no tengais ningun problema.

Última edición por Casuis; 21/09/2006 a las 15:41
  #17 (permalink)  
Antiguo 22/09/2006, 07:30
Avatar de Mulato  
Fecha de Ingreso: diciembre-2001
Ubicación: Caracas
Mensajes: 158
Antigüedad: 16 años, 7 meses
Puntos: 0
Saludos...

Bueno, Enriqueplace agradezco tus observaciones y las tomare en cuenta para futuras participaciones, con respecto a lo de Ruby, fui a un seminario del tema y me quede como la primera pantalla Pluf..! y me parecio tan interezante que tambien me voy a dedicar a aprenderlo, Ahora lo que señala Casuis me hace entrar en razon y me pregunto algo, ¿Las funciones en PHP se pueden invocar solo con realizar un include sin necesidad de declarar una clase, o es necesario declarar la clase que contega las funciones para despues llamarlas..? Se que esa pregunta no pertenezca a este tema pero confio que ustedes me aclararan esa duda..
__________________
Necesito aprender para compartir mi saber...
  #18 (permalink)  
Antiguo 22/09/2006, 08:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 12 años, 1 mes
Puntos: 2126
No entiendo tu pregunta?, claro que se tienen que incluir, lo que Casius publico es una parte del codigo no todo el codigo, todo eso requiere antes de una inclusion, declaracion de las clases etc.
  #19 (permalink)  
Antiguo 22/09/2006, 09:04
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 13 años, 1 mes
Puntos: 32
Cita:
Iniciado por Mulato Ver Mensaje
Bueno, Enriqueplace agradezco tus observaciones y las tomare en cuenta para futuras participaciones, con respecto a lo de Ruby, fui a un seminario del tema y me quede como la primera pantalla Pluf..! y me parecio tan interezante que tambien me voy a dedicar a aprenderlo,
En lo personal considero que es muy importante tener "la visión de bosque" y no quedarse solo con lo que más nos gusta o nos sentimos más cómodos. Por ejemplo, soy fan del Software Libre (por convencimiento, no fanatismo) y a pesar de todo no hice arcadas cuando cursé casi un año entero de .Net

Es más, considero que es muy buena idea (discutible si es original) pero estoy de acuerdo que lo malo es que se le hubiera ocurrido a Microsoft
Todo lo contrario con Java, a pesar que estoy del lado de los desarrolladores que piensan que el entorno es "innecesariamente complejo" y que podría ser más accesible al resto de los mortales.

Por esa razón es que empresas como Oracle, IBM, apoyando a Zend, quieren que PHP se desarrolle como una plataforma JEE (o J2EE, es lo mismo) pero mucho más simple, sencilla, económica en recursos y complejidad.

Bueno, yo apoyo esa idea.

Cita:
Iniciado por Mulato Ver Mensaje
Ahora lo que señala Casuis me hace entrar en razon y me pregunto algo, ¿Las funciones en PHP se pueden invocar solo con realizar un include sin necesidad de declarar una clase, o es necesario declarar la clase que contega las funciones para despues llamarlas..? Se que esa pregunta no pertenezca a este tema pero confio que ustedes me aclararan esa duda..
¿Las funciones? ¿o los métodos? Si estás trabajando proceduralmente (que por ejemplo, Java no te permite... y no recuerdo si en .Net es igual) puedes crear una función (definirla con la sintaxis "function") y para usarla tienes siempre que invocarla.

Si trabajas Orientado a Objetos creas el método con la misma sintaxis (function) pero luego la usas dentro del ámbito de la clase.

Se puede decir que la diferencia es un tema de "semántica"

Y si incluyes con "include" o "require", la única forma que funcione es dejando "código puro" suelto, sin estar dentro de una función o método de una clase.

¿Se entendió?
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #20 (permalink)  
Antiguo 23/09/2006, 05:05
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 13 años, 1 mes
Puntos: 32
Cita:
Iniciado por Casuis Ver Mensaje
Bueno primero saludos a todos ya hacía tiempo que no me pasaba por aqui, al menos veo que enrique sigue defendiendo la plaza, bueno sobre la polemica .net vs php no me voy a meter yo actualmente trabajo como analista en arquitectura .net aunque para mis negocios personales utilizo php5 en concreto Zend Framework o Ruby en su aplicación Rails. Por cierto estan estudiando la implantación de Ruby en la arquitectura .Net ^^
Muy interesante en que andas metido... (lo de la "plaza" no es un burla haciendo "juego de palabras" con mi apellido, no? )

Cita:
Iniciado por Casuis Ver Mensaje
Pero bueno vamos a lo del Singleton estoy leyendo muchas locuras. Vamos por pasos nunca y repito nunca metais la conexión de base de datos en sesiones creo que es obvio no?. Bien vamos a poner un ejemplo de singleton a grandes trazos. Si tenemos el siguiente modelo típico de un videoclub:
Si te refieres a mi ejemplo sobre cómo "controlar" la creación de instancia de conexión a la base de datos, avísame con tiempo. Amén de que no me considero ningún erudito en ningún tema, tengo muy claro que la "perfección es enemigo de lo bueno" y que soy "alumno de todo, maestro de nada", y este puede ser un muy buen momento para seguir aprendiendo

Te pediría también que te extiendas sobre el tema de la conexión en una sesión, amén que cada uno puede tener sus razones, es bueno no presuponer que quienes nos leen lo tengan tan claro (y de paso, intercambiamos puntos de vista).

También estaría interesante (lo aportaron en un comentario en mi blog) discutir como hacer una solución mejor en PHP (algo común en ambientes Java): un "pool de conexiones".

Y ahí se acaba la tontería

Cita:
Iniciado por Casuis Ver Mensaje
y aunque fuese extraño e incoherente queremos mostrar todos los clientes y todas las peliculas que tenemos que cada clase de la capa de negocio : clientes, alquiler, películas tiene un singleton que obtiene la conexion a base d e datos así siguiendo el ejemplo tendríamos:
Con respecto al diagrama UML, una duda tonta: cuando haces la flecha con "rombo negro" y es "1 a 1", no debería ser una flecha simple? ¿O tu "agregas" siempre 1 sola instancia?

Cita:
Iniciado por Casuis Ver Mensaje
Tendríamos que cada modelo tiene por herencia un objeto ADODB pero que esta dominado por DatabaseManager que es un Singleton. Esto quiere decir que aunque tengamos muchos objetos de la capa de negocio que tengas por herencía un objeto conexión ADODB gracias a singleton solo tendremos una instancia todas las demás serán referencias a esa instancia.
Si, he visto este modelo, pero nunca lo he implementado ni usado. Puede ser que ahora que vuelven a insistir con él me ponga a hacer pruebas.

Cita:
Iniciado por Casuis Ver Mensaje
Espero que os sea de ayuda, el ejemplo lo he basado en Zend Framework como no jejeje parece que me paguen o algo o debe ser eso ... jajaja
No para nada, todavía estoy viendo de liberarme lo suficiente para entrarle con más tiempo a Zend, RoR, etc...

Cita:
Iniciado por Casuis Ver Mensaje
P.D
el uml lo he hecho con ArgoUML
He utilizado como IDE he utilizado Eclipse
Y como modelo de framework el de Zend
Todo el software utilizado es Open Source
Tanto Cake como Symfony utilizan el mismo sistema MVC (a grandes trazos) así que espero que no tengais ningun problema.
¡Grande el ArgoUML! (medio duro, pero grande al fin) Aunque hay uno en para GNU/Linux que se parece mucho al Rational... y sigo sin recordar su nombre...
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 23:27.