Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Programación O.O., 3 capas ...

Estas en el tema de Programación O.O., 3 capas ... en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola a todos, estoy desarrollando mi proyecto de fin de carrera con LAMP. Consiste en crear una página para la gestión de laboratorios de mi ...
  #1 (permalink)  
Antiguo 02/02/2008, 11:21
 
Fecha de Ingreso: diciembre-2007
Mensajes: 50
Antigüedad: 16 años, 4 meses
Puntos: 0
Programación O.O., 3 capas ...

Hola a todos, estoy desarrollando mi proyecto de fin de carrera con LAMP. Consiste en crear una página para la gestión de laboratorios de mi facultad, para que se den de alta grupos, la gente se apunte, y se entreguen prácticas online entre otras cosas y muy resumidamente. Lo estoy intentando programar usando capas, no tengo ni idea de como hacerlo del todo bien, aunque si se el concepto de las tres capas. Ahora os planteo mis problemas:

He desarrollado una serie de clases (laboratorio, usuario) que contienen métodos para devolver datos y para modificar datos del objeto. Por un lado, no se si es del todo correcto que se validen los datos en el objeto, entiendo que sí, ya que entiendo también que estos objetos serían parte de la capa lógica, lo que no tengo del todo claro, es si debo incluir funciones en este objeto que me devuelvan informacion de BD. Ejemplo:

Código:
<?php

class usuario{
...

function devuelve_user($id_usuario){
$bd = new database(); --Seria otro objeto que tengo para conectar y consultas $bd->conectar(); $resultado = $bd->consulta(select ... where idusuario = $id_usuario); return resultado;
} ... } ?>
¿Es correcto hacer algo así? Entiendo que no es correcto meter consultas en un objeto que pertenece a la capa lógica. ¿Sería correcto incluir la función pero el $resultado obtenerlo de una función definida en otra clase que contenga solamente consultas a base de datos? Sería correcto tener una sola clase con todas las consultas a BD del tipo :

Código:
 
..
function obtener_datos_usuario($user){
$resultado = $bd->consulta("SELECT * FROM TABLA_USUARIOS WHERE user = $user"); return $resultado;
... }
Y luego desde la otra clase anterior (user), que la funcion devuelve_user llame a esta...¿?

Esto para empezar entre otras cosas... Espero haber sido claro...

Un saludo y gracias aunque solo sea por leerlo xD,
  #2 (permalink)  
Antiguo 02/02/2008, 13:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Programación O.O., 3 capas ...

Recuerda que si usas programación a 3 capas, la capa del modelo de datos es la encargada de hacer los Querys a la base de datos, no la clase de logica.

Saludos.

Tema trasladado a PHP Orientado a Objetos.

Por favor publica en los foros correctos.
  #3 (permalink)  
Antiguo 02/02/2008, 17:29
 
Fecha de Ingreso: diciembre-2007
Mensajes: 50
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Programación O.O., 3 capas ...

Gracias Gator V, entonces si mis objetos usuario, laboratorio... etc son la parte lógica, he de crear una clase que haga solo las consultas verdad?

Ando muy perdido, soy nuevo en el foro y no vi la zona de PHP O.O.

Muchas gracias,

Un saludo,
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 09:47.