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

Duda con POO

Estas en el tema de Duda con POO en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola. Me gustaria que alguien me contestara esta duda pues es de gran importancia.. Para mi proyecto de diploma estoy desarrollando aplicacion POO en php.Pero ...
  #1 (permalink)  
Antiguo 12/03/2007, 10:30
Avatar de dmartinezn  
Fecha de Ingreso: enero-2006
Mensajes: 74
Antigüedad: 18 años, 3 meses
Puntos: 1
Duda con POO

Hola.
Me gustaria que alguien me contestara esta duda pues es de gran importancia..
Para mi proyecto de diploma estoy desarrollando aplicacion POO en php.Pero me ha surgido una duda con respecto al uso de la arquitectura de 3 capas.

Tengo una clase interfaz donde introduzco todos los datos que voy a enviar. luego estos datos son enviados a una pagina que se encarga de recibir los datos y a la vez llama al metodo que va a realizar la operacion.Dicho metodo esta en una clase que tiene implementado otros metodos, el constructor, los set y los get.
Mi duda es la siguiente:
Cuando uno hace el analisis de la aplicacion utilizando UML existe la interfaz,controladora y entidad..
En php como siempre he visto las clases tienen sus propios metodos y ellas mismas se encargan de realizar sus cosas.Cuando voy hacer hacerlo usando interfaz,controladora, entidad las clases(entidad) solo tendrian el constructor, el destructor, los set y los get..y la clase controladora se encargaria de todos los metodos de esta clase...
Es por eso que ahora me ha surgido esta enorme duda!!!

Acaso tengo que hacer una controladora por cada clase y solo declarar en la clase que voy a utilizar(entidad) el constructor, el destructor, los set y los get o puedo realizar mi aplicacion dandole a la clase el derecho de tener todos sus metodos(Me refiero a los que tendria que poner en la clase controladora)...?
Si alguien tiene una sugerencia o critica lo acepto sin problemas
  #2 (permalink)  
Antiguo 12/03/2007, 12:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Duda con POO

Creo tu duda es de concepto, te recomiendo que le des una leida al patron MVC (tres capas), puedes usar Google para investigar.
  #3 (permalink)  
Antiguo 12/03/2007, 13:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Duda con POO

Esta es una buena lectura y no se mete con muchas complicaciones.

http://jacobo.tarrio.org/ex/txt/mvc.html
  #4 (permalink)  
Antiguo 12/03/2007, 13:36
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 11 meses
Puntos: 32
Re: Duda con POO

¿Mmmm... podrías volver a formular la pregunta, pero mucho más breve y concisa?

Si mal no entiendo, podemos hacer un paralelismo entre "clase controladora" y tal vez, una clase "Fachada"... ahora, tu quieres...?

¿Tal vez saber si es mejor tener siempre por cada capa una clase "controladora"?
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #5 (permalink)  
Antiguo 13/03/2007, 07:48
Avatar de dmartinezn  
Fecha de Ingreso: enero-2006
Mensajes: 74
Antigüedad: 18 años, 3 meses
Puntos: 1
Re: Duda con POO

Muchas gracias por contestar mi pregunta!!!
Voy a tratar de ser mas preciso ...
Imaginemos que tenemos una pagina index.php, otra recibir_datos y otra class_usuario donde voy a tener una clase usuario(esta clase tiene todos los atributos y los metodos insertar, eliminar, modificar ).
En la pagina index.php introduzco todos los datos(nombre,apellidos,...), en la otra recibir_datos recibo los datos($_POST['']),creo la instancia de la clase y llamo al metodo de la class_usuario(ya sea insertar,eliminar o modificar) segun sea el caso.
Asi siempre he pensado que funciona una aplicacion...(en mi humilde opinion):
interfaz que seria:index.php
controladora:recibir_datos
entidad:class_usuario
Pero en estos dias he estado conversando con algunas amistades y no todos tienen el mismo punto de vista de este funcionamiento
Es por eso que pregunto a personas tan experimentadas como ustedes.
Saludos
  #6 (permalink)  
Antiguo 13/03/2007, 08:18
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 11 meses
Puntos: 32
Re: Duda con POO

Yo te sugiero cambiar de amistades.

Te sigo sin entender mucho, pero tal vez, sea por que tu confusión es clarísima

El gran problema del mundo PHP es que no está tan "normalizado" ni "estandarizado" como el mundo Java (¿será porque PHP aún es un lenguaje y Java una arquitectura?), por consiguiente, cada desarrollador tiene su propia idea de como hacer las cosas, y muy probablemente, te vendan su verdad como la única verdad.

Como decía GatorV, algo avanzado es enterarte que existe MVC y estudiarlo. Otra forma intermedia es ver artículos famosos escritos por famosos como Pablo Rigazzi (lo conocerás por películas como "webstudio" y "ZonaPhp.com") con el sugerente título de "web modulares".
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #7 (permalink)  
Antiguo 13/03/2007, 15:35
Avatar de dmartinezn  
Fecha de Ingreso: enero-2006
Mensajes: 74
Antigüedad: 18 años, 3 meses
Puntos: 1
Re: Duda con POO

Algo como esto es lo que quiero hacer, digame desde su punto de vista que le parece:

<?php
include("lista_personas.php");
$lista=new lista();
$persona = new persona("D","M");
$lista->insertar_estudiante($persona);
?>

lista_personas.php
<?php
include("class_persona.php");

class lista
{
public function __construct()
{
}

public function insertar_estudiante(persona $vp)
{
$persona=$vp;
$nombre=$persona->getNombre();
$apellido= $persona->getApellido();

}

}
?>
class_persona.php
<?php
class persona
{
private $nombre;
private $apellido;
public function __construct($nombre,$apellido)
{
$this->nombre=$nombre;
$this->apellido=$apellido;
}
public function persona()
{
$this->nombre="";
$this->apellido="";
}
public function getNombre()
{
return $this->nombre;
}
public function getApellido()
{
return $this->apellido;
}
}
?>
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




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