Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Programación en 3 Capas PHP

Estas en el tema de Programación en 3 Capas PHP en el foro de PHP en Foros del Web. Buenas, mi pregunta es: Es Posible desarrollar un sitio web en 3 capas, y que la programación sea estructurada ? Es que apenas estoy aprendiendo ...
  #1 (permalink)  
Antiguo 21/01/2014, 13:58
 
Fecha de Ingreso: abril-2009
Mensajes: 37
Antigüedad: 15 años, 6 meses
Puntos: 0
Programación en 3 Capas PHP

Buenas, mi pregunta es:

Es Posible desarrollar un sitio web en 3 capas, y que la programación sea estructurada ?


Es que apenas estoy aprendiendo la programación orientada a objetos
Pero me urge hacer el sitio web en tres capas

Alguien puede darme una respuesta o explicación, gracias
  #2 (permalink)  
Antiguo 21/01/2014, 14:04
 
Fecha de Ingreso: diciembre-2005
Mensajes: 65
Antigüedad: 18 años, 10 meses
Puntos: 4
Respuesta: Programación en 3 Capas PHP

Tan tranquilamente lo puedes hacer . Lo que ocurre que quizás alguna vez tengas que acceder o invocar a código orientado a objetos de alguna librería.
  #3 (permalink)  
Antiguo 21/01/2014, 14:28
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 7 meses
Puntos: 96
Respuesta: Programación en 3 Capas PHP

Si es posible, haciendola modular.
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #4 (permalink)  
Antiguo 21/01/2014, 15:14
 
Fecha de Ingreso: abril-2009
Mensajes: 37
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Programación en 3 Capas PHP

Cita:
Iniciado por xSkArx Ver Mensaje
Si es posible, haciendola modular.
A que te refieres con hacer el código modular?
me puedes dar algún ejemplo, gracias
  #5 (permalink)  
Antiguo 21/01/2014, 15:16
 
Fecha de Ingreso: abril-2009
Mensajes: 37
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Programación en 3 Capas PHP

Cita:
Iniciado por piwy Ver Mensaje
Tan tranquilamente lo puedes hacer . Lo que ocurre que quizás alguna vez tengas que acceder o invocar a código orientado a objetos de alguna librería.
Gracias, pero si no tengo librerías de ese tipo entonces si puedo hacerlo con programación estructurada ?

A nivel de seguridad y todo eso, no tendré problemas o sí ?
  #6 (permalink)  
Antiguo 21/01/2014, 15:23
 
Fecha de Ingreso: abril-2009
Mensajes: 37
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Programación en 3 Capas PHP

Tenia pensado lo siguiente,
cuando me brinden los accesos de los servidores:

En la capa de datos tener el "conec.php"
En la capa de negocio tener todas las consultas, agregar, borrar, editar la Base de datos
Y en la capa de Vista, tener los css, js, imagenes y todo lo demás

Que les parece ? tenerlo todo estructurado así, pero con la programación estructurada y llamar los archivos entre si, haciendo uso de un "include"

Estaría bien ?
  #7 (permalink)  
Antiguo 21/01/2014, 16:32
 
Fecha de Ingreso: diciembre-2005
Mensajes: 65
Antigüedad: 18 años, 10 meses
Puntos: 4
Respuesta: Programación en 3 Capas PHP

Puedes hacerlo tan tranquilamente, si tienes que usar alguna librería orientada a objetos pues tienes que saber como invocar métodos, crear objetos, acceder a atributos públicos (getters, setters) y esas cosas, no vas a hacer cosas orientadas a objetos pero vas a interaccionar con estos. Por lo demás la programación modular es básica en programación estructurada. Es mejor usar objetos por lo menos hasta cierto punto, es más mantenible. Puedes usar estructurada, orientada a objetos o incluso mezclarlas poniendo un paradigma como principal en el desarrollo y el otro como secundario.
  #8 (permalink)  
Antiguo 21/01/2014, 16:36
 
Fecha de Ingreso: abril-2009
Mensajes: 37
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Programación en 3 Capas PHP

Cita:
Iniciado por piwy Ver Mensaje
Puedes hacerlo tan tranquilamente, si tienes que usar alguna librería orientada a objetos pues tienes que saber como invocar métodos, crear objetos, acceder a atributos públicos (getters, setters) y esas cosas, no vas a hacer cosas orientadas a objetos pero vas a interaccionar con estos. Por lo demás la programación modular es básica en programación estructurada. Es mejor usar objetos por lo menos hasta cierto punto, es más mantenible. Puedes usar estructurada, orientada a objetos o incluso mezclarlas poniendo un paradigma como principal en el desarrollo y el otro como secundario.
Gracias Piwy, y que opinas de esto:

En la capa de datos tener el "conec.php"
En la capa de negocio tener todas las consultas, agregar, borrar, editar la Base de datos
Y en la capa de Vista, tener los css, js, imagenes y todo lo demás

tenerlo todo así, y llamar los archivos entre si, haciendo uso de "include" ?
  #9 (permalink)  
Antiguo 21/01/2014, 16:38
 
Fecha de Ingreso: diciembre-2005
Mensajes: 65
Antigüedad: 18 años, 10 meses
Puntos: 4
Respuesta: Programación en 3 Capas PHP

Lo normal es que te vayas al patrón MVC y en la parte de modelo si quieres separas BD de lógica de negocio o lo pones junto, como quieras y también dependiendo de si usas un ORM (sistema para facilitar el acceso a BD, te relaciona las tablas con objetos o con estructuras <<arrays normalmente>> para acceder a las tablas según el tipo de ORM) y las facilidades que te dé. Si no usas ORM hay gente que integra la lógica de negocio con las operaciones con la BD, y en otras ocasiones se separa el modelo de la lógica de negocio.

En tu caso las consultas y demás irían en la capa de datos si no quieres complicarte con ORMs y demás. Luego te falta el controlador que gobierna la interacción entre los distintos elementos.

También hay que saber qué es lo que entiendes por programación en tres capas.

Última edición por piwy; 21/01/2014 a las 16:47
  #10 (permalink)  
Antiguo 21/01/2014, 16:48
 
Fecha de Ingreso: abril-2009
Mensajes: 37
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Programación en 3 Capas PHP

Así estaría bien:

- CAPA DATOS: (conec.php)

$link = mysql_connect("localhost","user","pass");
mysql_select_db("base_datos", $link);


- CAPA MODELO: (Consultas a la base de datos) servicios.php

include(capadatos/conec.php)
$sql_query="
INSERT INTO servicios (servicio, usuario)
VALUES ('".$_POST['servicio']."','".$_POST['usuario']."')
";
acá hago un While....


CAPA PRESENTACION
<html>
texto... contenido....

<?php include ("capamodelo/servicios.php") ?>
</html



Yo pensaba hacerlo asi, todo por separado, y llamar a cada archivo con un include
  #11 (permalink)  
Antiguo 21/01/2014, 17:02
 
Fecha de Ingreso: diciembre-2005
Mensajes: 65
Antigüedad: 18 años, 10 meses
Puntos: 4
Respuesta: Programación en 3 Capas PHP

Héchale un vistazo a: http://es.wikipedia.org/wiki/Programaci%C3%B3n_por_capas


Capa de presentación: es la que ve el usuario (también se la denomina "capa de usuario"), presenta el sistema al usuario, le comunica la información y captura la información del usuario en un mínimo de proceso (realiza un filtrado previo para comprobar que no hay errores de formato). También es conocida como interfaz gráfica y debe tener la característica de ser "amigable" (entendible y fácil de usar) para el usuario. Esta capa se comunica únicamente con la capa de negocio.
Capa de negocio: es donde residen los programas que se ejecutan, se reciben las peticiones del usuario y se envían las respuestas tras el proceso. Se denomina capa de negocio (e incluso de lógica del negocio) porque es aquí donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la capa de presentación, para recibir las solicitudes y presentar los resultados, y con la capa de datos, para solicitar al gestor de base de datos almacenar o recuperar datos de él. También se consideran aquí los programas de aplicación.
Capa de datos: es donde residen los datos y es la encargada de acceder a los mismos. Está formada por uno o más gestores de bases de datos que realizan todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperación de información desde la capa de negocio.

La capa de datos como en el fondo se entiende que es la BD con poner la conexión como haces puede ser suficiente. Pero realmente no se trabaja así se trabaja con patrón ModeloVistaControlador. Aquí se entiende que Vista y Controlador sería Presentación, el Modelo llevaría la lógica de negocio y la BD sería la capa de datos. Dentro de lo que es la lógica de negocio yo haría una separación entre lo que es realmente lógica de negocios y lo que es interacción con la BD, consultas, etc.

Tío me estás haciendo estrujar la cabeza ...

En lo que pones te falta el controlador que sería el que incluye la lógica de negocio y las vistas según la página consultada.

Última edición por piwy; 21/01/2014 a las 17:18
  #12 (permalink)  
Antiguo 21/01/2014, 17:37
 
Fecha de Ingreso: diciembre-2005
Mensajes: 65
Antigüedad: 18 años, 10 meses
Puntos: 4
Respuesta: Programación en 3 Capas PHP

COrrijo, yo miraria si loner el controls or in LA logica due negocio con lo que queda bien separada LAvista.

Escrito con movil.
  #13 (permalink)  
Antiguo 21/01/2014, 17:38
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 9 meses
Puntos: 260
Sonrisa Respuesta: Programación en 3 Capas PHP

Hola,

Algunos comentarios,

Cita:
Iniciado por carvaec Ver Mensaje
- CAPA DATOS: (conec.php)
...
Normalmente la conexión va en la capa de lógica de negocios, irónicamente, el acceso a datos no debería de abrir ni cerrar una conexión, u obligar a que esto no suceda. El motivo es porque puedes realizar varias operaciones en una misma conexión en una sola operación de lógica de negocios.

Cita:
Iniciado por carvaec Ver Mensaje
- CAPA MODELO: (Consultas a la base de datos) servicios.php
INSERT INTO servicios (servicio, usuario)
...
La capa de lógica de negocios no debería de saber nada de inserts, ni deletes, etc., de eso se encarga la capa de acceso a datos.

Cita:
Iniciado por carvaec Ver Mensaje
CAPA PRESENTACION
<html>
<?php include ("capamodelo/servicios.php") ?>
</html
...
Para la presentación, normalmente se usa algún tipo de plantillas, o se usa un patrón de diseño donde se insertan solamente los datos en su lugar correspondiente dentro del HTML. <?= ?>

Cita:
Iniciado por piwy Ver Mensaje
... Pero realmente no se trabaja así se trabaja con patrón ModeloVistaControlador. Aquí se entiende que Vista y Controlador sería Presentación, el Modelo llevaría la lógica de negocio y la BD sería la capa de datos. Dentro de lo que es la lógica de negocio yo haría una separación entre lo que es realmente lógica de negocios y lo que es interacción con la BD, consultas, etc.

Tío me estás haciendo estrujar la cabeza ...
Estás mezclando MVC con N-Tier Applications, no son lo mismo aunque tengan conceptos que parezcan parecidos.
En PHP es mas común usar MVC.

Saludos,

Última edición por HackmanC; 21/01/2014 a las 17:43 Razón: quote
  #14 (permalink)  
Antiguo 22/01/2014, 02:31
 
Fecha de Ingreso: diciembre-2005
Mensajes: 65
Antigüedad: 18 años, 10 meses
Puntos: 4
Respuesta: Programación en 3 Capas PHP

Pues te lo han explicado más claro. Pero ahí tienes el problema de que el controlador sea controlador en el sentido estricto de la palabra o no lo sea vas a tener que colocarlo en una de las tres capas y probablemente tienes que ponerlo en la lógica de negocio y el controlador no es lógica de negocio y tampoco es vista.

HackmanC tiene razón te estoy mezclando lo que es el MVC con lo que es programación en tres capas, lo mezclo porque al fin y al cabo son formas de hacer lo mismo y para mi es mejor el MVC pero yo me restringiría a lo que es programación en tres capas tal y como él te indica.

Última edición por piwy; 22/01/2014 a las 06:09

Etiquetas: programacion, programacionweb
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




La zona horaria es GMT -6. Ahora son las 01:06.