| ||||
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 |
| ||||
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:
o en CI a tu gusto master Ver original
Código PHP:
en zend de un tuto que he estado siguiendo de maestros del webVer original
Código PHP:
que pasa cuando quiero hacer en alguno de estos fw si quiero heredar la clase mamiferos??Ver original 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 |
| ||||
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 Zend
Código PHP:
Ver original Saludos. |
| ||||
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 |
| ||||
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. |
| ||||
Respuesta: Extender Modelos Cita: Y ¿por qué no añadiste un ejemplo de CI?
Iniciado por masterpuppet 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 Zend
Código PHP:
Ver original Saludos.
__________________ Verifica antes de preguntar. Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos |
Etiquetas: |