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

Extender Modelos

Estas en el tema de Extender Modelos en el foro de Frameworks y PHP orientado a objetos en Foros del Web. El día de hoy se me a creado la duda algo tonta pero duda al fin, estava hablando un poco de herencia en php y ...
  #1 (permalink)  
Antiguo 10/08/2011, 17:15
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Extender Modelos

El día de hoy se me a creado la duda algo tonta pero duda al fin, estava hablando un poco de herencia en php y puse el ejemplo simple de una clase animales, luego mamiferos, ese tipo de ejemplos que colocamos cuando estamos intentando explicar a la gente que no quiere meterse con la programación orientada a objetos las ventajas de estas, luego hubo una persona que hablo del patron MVC y me dice ok sila logica esta en el modelo como haria yo si necesito una clase animales y luego una clase mamiferos?? de verdad me dejo con la boca abierta y pensando las cosas si nuestras clases con la logica del negocio son los modelos y a veces hay clases que necesitamos heredar como hariamos??
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #2 (permalink)  
Antiguo 10/08/2011, 17:28
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Extender Modelos

Que tal carlos_belisario,

La verdad no entiendo donde esta la duda, se extiende la clase y listo, me estoy perdiendo algo ?

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 10/08/2011, 17:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Extender Modelos

Exacto, si necesitas extender lo haces, esa es la ventaja de la logica del negocio, por que es donde esta el nucleo de la aplicación.

Saludos.
  #4 (permalink)  
Antiguo 10/08/2011, 18:24
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: Extender Modelos

bueno segun lo que he visto casi siempre los modelos extienden de una clase padre models por ejemplo en cakephp es algo asi
Código PHP:
Ver original
  1. class Animales extends AppModel
o en CI a tu gusto master
Código PHP:
Ver original
  1. Animales_Model extends Model
en zend de un tuto que he estado siguiendo de maestros del web
Código PHP:
Ver original
  1. class Mdw_Model_Usuarios extends Zend_Db_Table_Abstract
que pasa cuando quiero hacer en alguno de estos fw si quiero heredar la clase mamiferos??
hago un require del modelo y extiendo de animales??
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 10/08/2011, 18:40
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Extender Modelos

Claro pero eso es algo de los FW's no del MVC, tienen una implementacion "base" para hacerte la vida mas facil(en teoría y para algunos), en el caso de Zend actualmente un modelo no extiende de nada, antiguamente extendía de Zend_Db_Table|Zend_Db_Table_Abstract con lo malo que esto tiene, atar a tu modelo a una bbdd y forzarte una implentación en tu domain model.

Y para extender depende de cada FW, si esta el autoload(como debería tener cualquier FW decente) no deberías preocuparte por nada.

Cake
Código PHP:
Ver original
  1. class Animales extends AppModel
  2. {}
  3. class Mamifero extends Animales
  4. {}

Zend
Código PHP:
Ver original
  1. class Animales
  2. {}
  3. class Mamifero extends Animales
  4. {}

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #6 (permalink)  
Antiguo 10/08/2011, 18:47
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: Extender Modelos

es decir ahora los model de zend no extienden de nada?? que bien entonces mi duda por lo menos por ahi se solucionaria facilmente y si es mas cuestion de fw, el gran problema de hablar con gente que conoce un poco de codigo es que no han empezado a caminar y ya quieren correr, le medio mencione de los fw cundo hablaba del MVC y ya querian trabajar con ZEND y todavia no han captado lo que es la OOP (y yo que entre los que estabamos era el mas experimentado se que todava me falta entender de esta ) y empezaron con las preguntas y yo defendiendo como podia la OOP y cuando me lanzaron esta quede frito
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #7 (permalink)  
Antiguo 10/08/2011, 19:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Extender Modelos

Exacto en cualquier FW decente, tu capa de dominio (o modelo) no debe de estar atado a nada, ya que en la realidad cada aplicación es unica no todas usan Bases de Datos, muchas usan otras cosas, y es por eso que Zend recomienda que uses el Data Mapper, para que tengas una capa sobre tu capa de acceso a bases de datos, para abstraer aún más tu capa del modelo.

Saludos.
  #8 (permalink)  
Antiguo 10/08/2011, 19:43
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Extender Modelos

Cita:
Iniciado por masterpuppet Ver Mensaje
Claro pero eso es algo de los FW's no del MVC, tienen una implementacion "base" para hacerte la vida mas facil(en teoría y para algunos), en el caso de Zend actualmente un modelo no extiende de nada, antiguamente extendía de Zend_Db_Table|Zend_Db_Table_Abstract con lo malo que esto tiene, atar a tu modelo a una bbdd y forzarte una implentación en tu domain model.

Y para extender depende de cada FW, si esta el autoload(como debería tener cualquier FW decente) no deberías preocuparte por nada.

Cake
Código PHP:
Ver original
  1. class Animales extends AppModel
  2. {}
  3. class Mamifero extends Animales
  4. {}

Zend
Código PHP:
Ver original
  1. class Animales
  2. {}
  3. class Mamifero extends Animales
  4. {}

Saludos.
Y ¿por qué no añadiste un ejemplo de CI?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: extender, modelos, php
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 2 personas




La zona horaria es GMT -6. Ahora son las 08:40.