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

Extender objeto con funciones habituales BBDD???

Estas en el tema de Extender objeto con funciones habituales BBDD??? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola buenas de nuevo! Quería saber si es recomendable crear un objeto con las funciones básicas para la base de datos, y extender los objetos ...
  #1 (permalink)  
Antiguo 18/04/2011, 10:15
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Extender objeto con funciones habituales BBDD???

Hola buenas de nuevo!


Quería saber si es recomendable crear un objeto con las funciones básicas para la base de datos, y extender los objetos a partir de este, o es mejor crear un objeto sin extenderlo ?

Estoy un poco liado, si hay ejemplos mejor!

Saludos!
  #2 (permalink)  
Antiguo 18/04/2011, 10:38
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 20 años, 11 meses
Puntos: 60
Respuesta: Extender objeto con funciones habituales BBDD???

NO no es bueno.

Las clases para poder heredar deben de tener una relación de parentesco, lo que tu quieres hacer es un tema que ya se ha tratado mucho por aquí y necesitas tener un objeto "Mapper" entre tu objeto de negocio y tu persistencia de datos.

Las clases NO son para "reutilizar funciones" son para algo más profundo y divertido.

Esto esta muy mal.

Código PHP:
class MiObjeto extends Db{


__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #3 (permalink)  
Antiguo 18/04/2011, 10:41
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Extender objeto con funciones habituales BBDD???

Lección aprendida.

Muchas gracias. Entonces.. donde puedo obtener un objeto "mapper" para principiantes?

Un saludo!
  #4 (permalink)  
Antiguo 18/04/2011, 10:47
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 20 años, 11 meses
Puntos: 60
Respuesta: Extender objeto con funciones habituales BBDD???

Date una vuelta por este patrón

http://martinfowler.com/eaaCatalog/dataMapper.html

Y por el principio de liskov

http://codelog.climens.net/2009/06/0...-de-oop-solid/

En general el principio de liskov establece que el objeto que hereda debe de poder suplir al objeto padre en cualquier circunstancia por que son del mismo tipo.

Un buen ejemplo de herencia.

Aqui la herencia si tiene sentido por que Mysql "es una" Db luego usas Mysql o cualquier DB en tu objeto.

Código PHP:
class Mysql extends Db{

}

class 
MiObjetoQueGuardaEnUnaDB{
     private 
$_db;
     public function 
setDb(Db $db){
       
$this->_db $db;
     }

     public function 
insert(){
       
$this->_db->insert();
     }


¿Como lo usarias?

Código PHP:
$persistencia = new Mysql();
$miObjeto = new ObjetoQueGuardaEnDb();
$miObjeto->setDb($persistencia);
$miObjeto->insert(); 
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
  #5 (permalink)  
Antiguo 18/04/2011, 10:53
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Extender objeto con funciones habituales BBDD???

Muchas gracias por tu ayuda, el link del patrón datamapper se me queda corto, intentaré buscar más sobre el tema, y si tienes un ejemplo a mano, sería genial.

Muchas gracias de nuevo por tu tiempo, un saludo!
  #6 (permalink)  
Antiguo 18/04/2011, 11:24
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Extender objeto con funciones habituales BBDD???

Que tal miktrv,

Una implementación simple de mappers es la del Quickstart de Zend. ahora yo te sugiero utilices alguno de los ORM's que hay, phpDataMapper, Propel y lo mejor para el final Doctrine.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #7 (permalink)  
Antiguo 18/04/2011, 11:37
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: Extender objeto con funciones habituales BBDD???

Hey masterpuppet!

Muchas gracias, tus respuestas siempre son de 10!

Un saludo!
  #8 (permalink)  
Antiguo 18/04/2011, 21:39
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, 11 meses
Puntos: 1517
Respuesta: Extender objeto con funciones habituales BBDD???

Disculpen que pregunte, pero no he comprendido bien como usar el patrón de mapper. Busque varios lugares y lei sus contenidos, pero aún como que no quiere entrar como usar correctamente ese patrón. Lo que no comprendo primero lo que dice en http://martinfowler.com/eaaCatalog/dataMapper.html sobre "in-memory". Trate entender el concepto por este libro http://books.google.com.pr/books?id=...mapper&f=false y ahí está peor entenderlo, porque usa muchos terminos y para poder entenderlo tiene que dominar muchas cosas. Luego trate este http://books.google.com.pr/books?id=...mapper&f=false pero no comprendí mucho sobre el patrón, aunque enseña como usar Doctrine. Bueno ya me descargué
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 19/04/2011, 02:41
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Extender objeto con funciones habituales BBDD???

Que tal abimael,

Que es lo que no te queda claro ?, el patrón en si o como implementarlo ?.

Nota: "in-memory" no es mas que la traducción literal del termino, "en memoria", el objeto en memoria(a.k.a new Object).

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #10 (permalink)  
Antiguo 19/04/2011, 05:46
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, 11 meses
Puntos: 1517
Respuesta: Extender objeto con funciones habituales BBDD???

Más bien como implementarlo, ya estoy leyendo Patterns of Enterprise Application Architecture, vamos a ver si con eso entiendo el uso del patrón
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 19/04/2011, 06:31
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Extender objeto con funciones habituales BBDD???

La implementación mas simple y clara es la del QuickStart de Zend, hacer algo mas complejo no creo que valga la pena, ya habría que utilizar alguna de las herramientas que hay preparadas para tal fin.

Te sugiero que te hagas con una copia del PoEAA vale los 50 bucks.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #12 (permalink)  
Antiguo 19/04/2011, 07:39
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Extender objeto con funciones habituales BBDD???

Cita:
Iniciado por masterpuppet
Te sugiero que te hagas con una copia del PoEAA vale los 50 bucks.
PoEAA != Patterns of Enterprise Application Architecture?

Gracias a ambos por la sugerencia... a buscar el libro!
__________________
- León, Guanajuato
- GV-Foto
  #13 (permalink)  
Antiguo 19/04/2011, 08:28
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, 11 meses
Puntos: 1517
Respuesta: Extender objeto con funciones habituales BBDD???

Sí, es lo mismo. La primera vez que vi el término fue cuando masterpuppet indicó que duerme con él y lo tiene como almohada. De ahí he tratado pero necesito algo más suave para dormir
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #14 (permalink)  
Antiguo 19/04/2011, 09:55
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Extender objeto con funciones habituales BBDD???

Cita:
Iniciado por abimaelrc Ver Mensaje
Sí, es lo mismo. La primera vez que vi el término fue cuando masterpuppet indicó que duerme con él y lo tiene como almohada. De ahí he tratado pero necesito algo más suave para dormir
es una relación de amor/odio que tengo con el, si están para los books, otro obligatorio es el del GoF - Design Patterns: Elements of Reusable Object-Oriented Software.
__________________
http://es.phptherightway.com/
thats us riders :)
  #15 (permalink)  
Antiguo 19/04/2011, 11:01
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, 11 meses
Puntos: 1517
Respuesta: Extender objeto con funciones habituales BBDD???

Me voy a pelar esta semana Ahora si que todos los días voy a
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: bbdd, extender, funciones, objeto
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 06:53.