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.

Tags: ,


2 votes, average: 4.50 out of 52 votes, average: 4.50 out of 52 votes, average: 4.50 out of 52 votes, average: 4.50 out of 52 votes, average: 4.50 out of 5 (2 votes, average: 4.50 out of 5)
You need to be a registered member to rate this post.
Loading...
MySQL, PHP, Pregúntale al gurú | RSS 2.0 |     1,273 views

RSS feed

6 Comments »

Comment by ivan_ight
2009-03-20 02:22:10

¿Y por que no usas un framework?, estos ya tienen la division entre controladores, modelos, vistas, ayudas, configuracion.

Fijate en http://en.wikipedia.org/wiki/List_of_web_application_frameworks

Me parece que la documentacion de cakePHP te va a gustar:

http://book.cakephp.org/es

En la vista tambien seria bueno un motor de plantillas:
http://es.wikipedia.org/wiki/Plantilla

Saludos y suerte en tu proyecto

 
Comment by ja_vier
2009-03-20 15:21:01

Si entendi correctamente, a lo que quieres llegar es al Modelo MVC, checate sus respectivos articulos:

(separando las vistas, de los controladores y la logica de negocios).
.

Saludos

 
Comment by ja_vier
2009-03-20 15:25:01

Oh Snap! 😀

Estas cosas del wordpress…
Las ligas correctas:
Modelo MVC.
Logica de Negocios .

Saludos

 
Comment by Alfredo Ramírez
2009-03-20 20:36:16

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!

Comment by arcangel.salazar
2009-03-21 23:38:34

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.

 
 
Comment by Alfredo Ramírez
2009-03-22 18:08:01

Excelente info este ultimo comment de arcange.salazar me ha servido aun bastante, me ayudaron a saber que y como buscar informacion, cualquier otro aporte sera bien recibido, gracias!

 
Name (required)
E-mail (required - never shown publicly)
URI
Your Comment (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> in your comment.

Trackback responses to this post