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

UML, PHP orientado a objetos y MySQL: Cacao mental

Estas en el tema de UML, PHP orientado a objetos y MySQL: Cacao mental en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Para empezar un hola muy grande a todos. Que sepáis que me he registrado para preguntar, ayudar y leer lo que haya por aquí durante ...
  #1 (permalink)  
Antiguo 18/04/2010, 21:21
Avatar de Neomog  
Fecha de Ingreso: abril-2010
Mensajes: 3
Antigüedad: 14 años
Puntos: 0
UML, PHP orientado a objetos y MySQL: Cacao mental

Para empezar un hola muy grande a todos. Que sepáis que me he registrado para preguntar, ayudar y leer lo que haya por aquí durante un buen tiempo, así que espero ser un granito más de arena en la güeb.

Tras esto, viene mi temida pregunta.

Estoy haciendo un proyecto (pa la universidad) en el que estoy especificando en UML, con lo que a la hora de implementarlo en código lo haré en programación orientada a objeto (POO).

La cosa es que quiero hacerlo en PHP, y aquí vienen mis dudas. ¿Cómo conviven la POO de PHP con una base de datos con todos los datos (valga la redundancia?

Nunca he programao en PHP POO y mis otras experiencias con POO son C++ y Java, con lo que el concepto que tengo de clase es el objeto que se tiene como referente al crear una nueva instancia.

P.ejemplo: La clase usuario, con sus atributos. Luego hago un New usuario, que crea una instancia (que ocupa datos en algún lugar del servidor). ¿Como van a parar estos datos después a mi base de datos MySQL? Entiendo que si creo una nueva clase y luego copio sus datos a la base de datos, estoy haciendo redundancia de datos...

He leído algo sobre los ORM (creo que eran así), que hacían mapeado de bases de datos SQL con PHP, pero creo que me estoy liando aún más.

No sé si me explico bien, pero agradecería mucho vuestra ayuda respecto al tema, muchachos ..

Muchas gracias por adelantado!!!
  #2 (permalink)  
Antiguo 18/04/2010, 21:34
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: UML, PHP orientado a objetos y MySQL: Cacao mental

Sinceramente me perdí un poco con la pregunta. Como no indicas que base de datos vas a usar te recomiendo que leas sobre la clase PDO para trabajar con base de datos.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 18/04/2010, 21:40
Avatar de Neomog  
Fecha de Ingreso: abril-2010
Mensajes: 3
Antigüedad: 14 años
Puntos: 0
Respuesta: UML, PHP orientado a objetos y MySQL: Cacao mental

Comprendo que la pregunta sea difícil de entender

Es que no comprendo muy bien como conviven el PHP orientado a objetos con MySQL, por ejemplo.

Cuando yo tengo una clase Usuario y creo un nuevo Usuario (llamémosle Juan), ¿este donde se crea? ¿Se crea un nuevo archivo llamado Juan.php? ¿O hay manera para que se guarde directamente en la base de datos?

Sé que es lioso
  #4 (permalink)  
Antiguo 18/04/2010, 22:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: UML, PHP orientado a objetos y MySQL: Cacao mental

Hola Neomog,

PHP por si solo no convive con ninguna base de datos, el que tu crees un objeto no indica que este tenga persistencia, de por si PHP es un lenguaje stateless, solo "vive" por el ambito del request HTTP actual. Es decir, una vez que termina tu request HTTP ya PHP termino su ciclo y tus objetos ya fueron destruidos / reciclados.

Teniendo en cuenta esto, puedes entender que el que programes en PHP OO es indiferente ya que no existe la persistencia por si sola en PHP.

Lo que quieras hacer de mapeo objeto-relacional (o ORM) es algo que debes de implementar tu como programador usando alguno de los muchos Frameworks existentes que te permiten tener esa facilidad de mapear un objeto a un medio persistente de datos.

También lo puedes hacer por tu cuenta, pero esto es más complicado a corto y largo plazo, y por mantenimiento te recomiendo usar un Framework.
  #5 (permalink)  
Antiguo 18/04/2010, 22:47
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: UML, PHP orientado a objetos y MySQL: Cacao mental

Oh, tu pregunta ya tiene que ver con PHP y no tanto con POO. Te recomiendo que mejor leas un manual para que aprendas primero lo básico de PHP y luego entres al POO, que a mi entender no te vas a complicar mucho, ya que tienes experiencia con otros lenguajes. Te indico esto, ya que trabajar con POO en PHP no descarta el usar el lenguaje de PHP, sino más bien POO es una forma de organizar lo que quieras crear con PHP. Empieza por este manual y luego estudia POO en PHP.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 19/04/2010, 08:43
Avatar de Neomog  
Fecha de Ingreso: abril-2010
Mensajes: 3
Antigüedad: 14 años
Puntos: 0
Respuesta: UML, PHP orientado a objetos y MySQL: Cacao mental

Vale, claro, estaba bastante cegado

Los objetos creados en el momento serán destruidos una vez cargue otra página (intuyo que el PHP tiene garbage collector). Así que la clase Usuario, por ejemplo, estará en mi base de datos, no en PHP como tal (entiendo que si puedo tener una class Usuario que simplemente acceda a esos datos para enseñármelos y que guarde los métodos que pueda utilizar sobre ella).

¡Muchas gracias! Voy a meterle más caña a los manuales, a ver si me aclaro ya al 100 %
  #7 (permalink)  
Antiguo 22/04/2010, 15:00
 
Fecha de Ingreso: enero-2005
Mensajes: 149
Antigüedad: 19 años, 3 meses
Puntos: 2
Respuesta: UML, PHP orientado a objetos y MySQL: Cacao mental

Uhmmm

Recientemente he estado leyendo sobre DTO y DAO... Data Transfer Object y Data Access Object. Digamos que creando estos objetos creas una "interfaz" entre Base de datos y lenguaje de programación independientes.

De forma que por ejemplo podrías coger los valores de un formulario en un array (una lista de valores) y pasarselos al dto... y el dao se encargaría de interactuar con la base de datos... con lo del dto Si he interpretado bién lo que he leido...

Alguién podría corroborarlo ?

Sobre el objeto / patrón dao podrías guardar esos metodos ke decías usan la base de datos... pero quizá de momento te sería más util abreviar en terminología rara y probar PDO Este enlace está Legendario jaja http://www.phpro.org/tutorials/Intro...o-PHP-PDO.html Seguro te aclarará un montón de cosas...

Un saludo

Última edición por yoguuu; 23/04/2010 a las 09:33 Razón: La B y la V Jajajajajajajajaja

Etiquetas: mysql, objetos, orientado, php, uml
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 02:56.