Ayuda programacion 3 capas en PHP

TIGRE985

Bovino maduro
#1
Hola amigos bakunos, miren el problema que tengo es que comence a trabajar en una empresa donde me pidieron que haga un sistema de tamaño mediano por asi decirlo. Todo con software libre es decir PHP y POSTGRESQL, yo conozco bien PHP pero me pideron que la aplicacion debe estar hecha en 3 capas :S. Yo siempre programe en 1 capa por asi decirlo. Alguien me puede decir de que se trata esto de 3 capas, que ventajas y desventajas tiene, y lo mas importante donde encuentro algun ejemplo de esto pero para PHP. Gracias :)
 

roberto123

Bovino adicto
#2
Hola man, si ya manejaste Bases de Datos alguna vez, entonces ya estas programando a dos capas, como haras para agregar la tercera???

Tu cuando programas a 1 capa, todo lo haces en la logica de negocios, desde ahi consultas y simulas una BD con variables locales temporales, dependiendo de tu lenguaje a programar.

Con 2 capas estas separando la logica de negocio de los datos. Es decir desde la pagina web haces tu logica de negocio, tus consultas a bases de datos, etc, etc. Entonces la capa uno es la vista y la logica de negocios y la capa 2 es tu capa de datos (osease tu base de datos)

Para meterle la tercera capa, entonces tendras que dividir tu primera en otras dos, separando la vista de la logica de negocios, asi te quedaran entonces. En tu primera capa tendrias, a la vista, que podria ser un html, jsp,etc. En tu segunda capa tendrias la logica de negocios, es decir de aqui mandas a hacer tus consultas, nunca desde tu vista, es solo cuestion de mapeos. Y tu tercera capa seria tu capa de datos (la BD). Si quieres entenderle mejor a esto, buscale algo asi como el modelo MVC en google, con eso la armas, ahora que con php no tengo ni idea de como implementarlo, ando verde en php. Si sabes javam te recomiendo con jsp's, servlets y tu postgres, o con el framework struts, o con C# tambien hay un framework que se llama MVC (Creo).

jaja se me olvidaron las ventajas.

Te voy a decir lo que a mi experiencia me ha ayudado.

- Es mas facil detectar errores, ya que todo esta supermodulado, yo a veces me perdia entre tanto codigo.
- Separar la vista de la logica de negocios ayuda a mantener a los programadores de los diseñadores, sin que estos se peleen, ya que cada quien tiene su propio pedazo de codigo a trabajar.
- Tu proyecto es muy escalable, ya que con este modelo, tienes todo modulado, entonces ir agregado nuevas funciones o componentes al sistema es mucho mas facil. ya que solo creas otra vista y su logica de negocios, para la mayoria de las veces.

Espero haber ayudado n_n
 

yisus

Bovino adicto
#3
no te lo pudieron ver explicado mejor. yo lo unico que te puedo recomendar son frameworks en php.

yo en lo personal no los he usado, pero no por que no quiera si no por que no he tenido la oportunidad.

CakePHP
ZendFramework
Symfony

esos son los que mas he escuchado.
pero te recomiendo buscar sobre Frameworks en php, y el modelo MVC, este modelo es el que antes te han explicado y se aplica a la mayoria de los lenguajes.

saludos
 
#5
yo t puedo pasar un ejemplo q hice para una empresa... un sistema de encuestas , bueno lo terminè y lo entregè con codigo y todo ... pero ahora tngo una version medio terminada... la completa lo perdi!! jje .. este es mi email por si deseas q t envie el proyecto. jhoel_s1985@hotmail.com
 

TIGRE985

Bovino maduro
#6
oh muy buenas las respuestas, me guiaron bastante, y jsc 23 si me encantaria que me pases un ejemplo para ubicarme mejor, pronto te escribire a tu mail. Gracias muchachos :)
 

TIGRE985

Bovino maduro
#7
no te lo pudieron ver explicado mejor. yo lo unico que te puedo recomendar son frameworks en php.

yo en lo personal no los he usado, pero no por que no quiera si no por que no he tenido la oportunidad.

CakePHP
ZendFramework
Symfony

esos son los que mas he escuchado.
pero te recomiendo buscar sobre Frameworks en php, y el modelo MVC, este modelo es el que antes te han explicado y se aplica a la mayoria de los lenguajes.

saludos
Hey compadre, perdona mi ignorancia pero para que sirven los frameworks de php, yo siempre hago el codigo desde el comienzo ni idea para sirve los frameworks en php.
 

roberto123

Bovino adicto
#8
Hey compadre, perdona mi ignorancia pero para que sirven los frameworks de php, yo siempre hago el codigo desde el comienzo ni idea para sirve los frameworks en php.
Ah pues bajate unos tutoriales, se supone que estan hechos para simplificar el codigo o modularlo mas, algunos te obligan a trabajar con programacion a 3 capas, ahi investigale sobre ellos.
 
#9
es otro modo de ver el MODELO VISTA CONTROLADOR se podria decir
es separa lo logico de la vista, y tus datos
me imagino que a eso se refieren
claro si lo haces asi, trata de hacer codigo reutilizable sino tendras mas codigo que tu programa mediano como le dices
 
#10
hola io estoy empesando a investigar sobre el modelo de tres capas les agradeceria si podiran proporcionar un ejemplo aplicado porfa se los agradeceria mucho
 
#11
Hola amigos bakunos, miren el problema que tengo es que comence a trabajar en una empresa donde me pidieron que haga un sistema de tamaño mediano por asi decirlo. Todo con software libre es decir PHP y POSTGRESQL, yo conozco bien PHP pero me pideron que la aplicacion debe estar hecha en 3 capas :S. Yo siempre programe en 1 capa por asi decirlo. Alguien me puede decir de que se trata esto de 3 capas, que ventajas y desventajas tiene, y lo mas importante donde encuentro algun ejemplo de esto pero para PHP. Gracias :)
Pues yo utilizaria estas 3:





 

fierros_X

Bovino maduro
#12
Codeigniter es sencillo de aprender, lee el tutorial de blog que tiene, es como de media hora. Con eso vas entendiendo lo que son 3 capas.

Lo que ayuda en este caso es que es facil la integración con Postgresql.

Otros frameworks que podrias usar serían Cakephp, ZendFramework(este en realidad usa dos capas) y Symfony
 
Arriba