Arquitectura y Modelo de Capas Aplicado a PHP + MySQL

Sin rodeos, tengo en fase de desarrollo un proyecto para titulacion con el grado de ingenieria, es a grandes razgos un CMS aplicado a un tema especifico, pero en una de las materias necesito modelar por medio de capas mi proyecto.

Vistas + Logica de Negocio + Datos

Entiendo la parte donde la vista se refiere a las interfaces del usuario, el sistema es transparente y no se sabe la ubicacion real de la informacion.

La Base de datos igual, como se organiza.

Pero tengo duda de como mostrar la logica de negocios o negociaciones.

Entiendo que sera la manera en que se realizaran las operaciones en la base de datos, pero es algo que no se como aterrizar, si pudiera ayudarme con un ejemplo aterrizable se los agradeceria bastante.

Author: Alfredo Ramírez

Supervisor de Desarrollo de Aplicaciones Web. Actualmente buscando tiempo libre para mi... donde lo venden!!! Intereses actuales... PHP, MySQL, C++, Java

6 thoughts on “Arquitectura y Modelo de Capas Aplicado a PHP + MySQL”

  1. Muchas gracias, tomando en cuenta los comentarios!

    cualquier otra idea, lo agradezco,,, e igual…

    tomando en cuenta el ejemplo del modelo MVC, veo que hay una conexion entre vista y datos…
    y segun el docente que esta asignado a mi materia, dice que en el modelo de capas eso no es posible, trate de hacerle entender lo que pasaba con el modelo MVC, pero el por fuerza quiere verlo en capas… entonces…

    ya solamente seria la idea de…
    seguir aplicando la logica de negocios, pero muchas gracias!

    1. mmm, posiblemente tu profesor se refiera al MVC puro que existia en smalltalk. Lo que sucede es que según la teoría, la capa de la logica (Controller) es la encargada de mediar entre la capa de datos (normalmente un ORM) y la capa de presentación (un sistema de plantillas en el caso de HTML). En ruby on rails el patron MVC es bastante puro, así que puedes darle un vistaso para darte una idea de como es.

      Estos son algunos puntos que debes cuidar a cuando diseñes tu arquitecctura.
      * Las clases de presentación deben contener la cantidad minima necesaria para correr la presentación de los datos, y sobre todo, no debes realizar ningun tipo de operación que no tenga que ver con darle formato a la información.

      * Las clases controlles son las que deben tener las operaciones del sistema (calculos de IVA, accesos a la Db de alto nivel, filtros, ordenamientos, llamar a las vistas, etc). Una clase controller jamas debe tener una sola linea de SQL.

      * Las clases modelo deben contener todos los accesos de bajo nivel a la DB (SQL) y también aquellas operaciones que tengan que ver directamente con los datos (calculo de llaves, hashing de password, validación de las reglas de integridad de los datos, etc).

      Espero que esto te sea de utilidad.

Leave a Reply