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

Como implementar la poo en este caso

Estas en el tema de Como implementar la poo en este caso en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola a todos primero decirles que soy muy novato en poo y segundo que ya me he leido casi todo lo recomendado por el tema. ...
  #1 (permalink)  
Antiguo 29/01/2006, 12:01
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 19 años
Puntos: 1
Como implementar la poo en este caso

Hola a todos primero decirles que soy muy novato en poo y segundo que ya me he leido casi todo lo recomendado por el tema.

Mi problema es que todavia me cuesta entender el razonamiento de este tipo de programacion.

Quisiera saber como plantear la relacion entre:

formularios-->recogida de datos POST-->validacion de los datos(filtros)-->
crear sessiones para devolver a los formularios en caso de fallo-->entrada a la base de datos

Que deberian ser objetos y que no?
Como deberian relacionarse entre si?

Lo que pido es la teoria, que del codigo ya me encargare yo.

GRACIAS
__________________
Ciao y suerte.
  #2 (permalink)  
Antiguo 30/01/2006, 10:23
Avatar de kalolo  
Fecha de Ingreso: abril-2005
Mensajes: 65
Antigüedad: 19 años
Puntos: 0
mmm creo que seria mejor decir que informacion requieres guardar ...

primero defines todos tus objetos. .. si vas a crear un objeto .. que impriam el formulario... el cual va poner tantso text box como el "objeto" tenga para capturarle...

Ooh.. hacer dentro de tus objetos, crear una funcion el cual imprima un formulario para el.

Bueno.. igual depende de que tantos tipos de capturas vas a hacer.. si siempre vas a hacer digamos ..... capturas de info... creo que seria mejor definir la estrucutra dle objeto info ... y dentro de sus metodos crear una donde imprima un formulario y otra donde guarde, update.... de lo capturado en ese formulario.

... igual yo tambien ando apens metiendome a esto de poo

saludos!
__________________
There is no place like 127.0.0.1
  #3 (permalink)  
Antiguo 30/01/2006, 15:21
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 19 años
Puntos: 1
Muchas gracias por contestar Kalolo, pero no te entendi muy bien xd.

Las capturas supongo que te referiras a que tipos de datos voy a almacenar o que tipos de formularios voy a utilizar.

La verdad es que son para una base de datos de catalogos, usuarios, noticias, descargas, clientes, etc. asi que seguramente utilizare de todos. Y de eso se trata queria saber como hacer para separar la salida en html de los formularios, del control de los datos, para que en un futuro fuera mas facil y mas ordenado el flujo de datos.

Pero no se que instanciar como objeto ni que relacion tendrian que llevar.
__________________
Ciao y suerte.
  #4 (permalink)  
Antiguo 30/01/2006, 16:47
Avatar de kalolo  
Fecha de Ingreso: abril-2005
Mensajes: 65
Antigüedad: 19 años
Puntos: 0
ui.. je...mm... mira igual no te fies mucho,... como te comentaba soy "newbie" en esto de poo ...
Bueno.. primeramente estructuraria cada uno de los datos.. por ejemplo.. empesando con los usuarios diseñaria el objeto usuario ... buscaria que atributos voy a ocupar para ellos .. y crearia metodos para el objeto usuario ... insertar update borrar.
Igual con noticias.. objeto noticias.. sus atributos.. y sus metodos.

Y asi sucevivamente.. ahora para la cuestion del formulario en html.. ahi ves.. igual puedes ahcer que cada objeto tenga su metodo $objUsuario->ImprimirFormulario();
el cual imprime los textbox para modificar los atributos del usuario .. .. fua.. espero poder explicarme... mmm....

La base de datos ahi ya tienes que ver otra cosa... tu base de datos puede servir para almacenar informacion.. o almacenar el estado del objeto (<-- sigo probando con esto) .... pero igual ya depende de la aplicacion que estes desarrollando.


Igual... no te vayas a lo complicado.. divide y secciona jee!!... primero resuelve objeto por objeto ..... al final .. .veras que los objetos comparten ciertos metodos .. ahi ya mejoraras tus clases.

Si quieres vamos viendo objeto por objeto.... publica que atributos ocuparias para usuarios.. y que acciones vas a tener sobre ellos y lo vamos resolviedo.. sirve que entre todos vamos aprendiendo mejor sobre poo.


saludos!
__________________
There is no place like 127.0.0.1
  #5 (permalink)  
Antiguo 31/01/2006, 03:52
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 19 años
Puntos: 1
Ok , invito a los moderadores a que nos echen una mano ya que los dos somos novatos en esto y nos guien.

Pero se supone que hay que separar la vista del control si mandamos en un metodo imprimir en html.Nos estaremos saltando esto a la torera?

Quizas fuera mejor hacer una classe que creara los formuarios de los objetos clientes, usuarios, noticias, etc. Y que esa misma clase los validara y en caso de fallo devolviera los datos que estan bien al formulario. Eso es lo que pretendia desde el principio.

El objeto usuario (la verdad esque no tengo ni idea) podria tener los siguientes metodos:

(utilizando otro objeto para la comunicacion con la bd)
-Dar de Alta en la base de datos
-modificar en la db
-dar de baja (borrar de la db)
-listar en una tabla
-ver si esta online
-algun tipo de debug de salida de errores
-Ver estado(logeado o no)?

No se me ocurre nada mas a ver que opinas tu kalolo
__________________
Ciao y suerte.
  #6 (permalink)  
Antiguo 31/01/2006, 11:02
Avatar de kalolo  
Fecha de Ingreso: abril-2005
Mensajes: 65
Antigüedad: 19 años
Puntos: 0
Cita:
Iniciado por Pleniluni0
El objeto usuario (la verdad esque no tengo ni idea) podria tener los siguientes metodos:

(utilizando otro objeto para la comunicacion con la bd)
-Dar de Alta en la base de datos
-modificar en la db
-dar de baja (borrar de la db)
-listar en una tabla
-ver si esta online
-algun tipo de debug de salida de errores
-Ver estado(logeado o no)?

No se me ocurre nada mas a ver que opinas tu kalolo
Pues si.. ta bien... mm.. aver tons seria algo asi:
Código PHP:
class Usuario {
  
   public 
$Nombre;
   public 
$Pass;
   public 
$NombreCompleto;
   public 
$Email;    
  
   public function 
__construct($Nombre,$Pass,$NombreCompleto,$Email
   {
        
$this->Nombre $Nombre;
        
$this->Pass $Pass;
        
$this->NombreCompleto =$NombreCompleto;
    
$this->Email $Email;
        
   }  

   public function 
Guardar_BD()
   {
       
$query=mysql_query("INSERT INTO usuarios (`nombre`, `pass`, `NombreCompleto`, `Email`) VALUES ('".$this->Nombre."', '".$this->Pass."', '".$this->NombreCompleto."', '".$this->Email."');");
       if (!
$query){ die('Error al capturar en la Base de datos: '.mysql_error()); }
   }
    
    public function 
Fetch_Usuarios($filtro=0,$campo=0)
    {
        
//Si no mandas nada... filtro toma el valor 0 por lo tanto mostramos todos.. si no ... mandas el id del usuario.
        
if($filtro==0&&$campo==0)
        {
            
$query=mysql_query("SELECT * FROM usuarios ORDER BY id DESC");
            
$RowUsuarios=mysql_fetch_array($query);
                
        }
        else
        {
            
$query=mysql_query("SELECT * FROM usuarios WHERE '".$filtro."' = '".$campo."' ORDER BY id DESC");
            
RowUsuarios=mysql_fetch_array($query);            
        }
        return 
$RowUsuarios;
        
    
    }  


Código PHP:
$objetoUsuario = new Usuario("kalolo",123,"Carlos Lopez","[email protected]");
$objetoUsuario.Guardar_BD();

$RowUsuario=$objetoUsuario.Fetch_Usuarios("nombre","kalolo");
while(
$RowUsuario)
{
   echo 
"Nombre: ".$RowUsuario['nombre']."<br>";
   echo 
"Nombre Completo: ".$RowUsuario['NombreCompleto']."<br>";
   echo 
"Email : ".$RowUsuario['email']."<br>";

__________________
There is no place like 127.0.0.1

Última edición por kalolo; 31/01/2006 a las 11:13
  #7 (permalink)  
Antiguo 31/01/2006, 15:01
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 19 años
Puntos: 1
Gracias por el codigo lo voy a utilizar añadiendo una clase que me descargue para la gestion de mysql ezmysql que es BUENISIMA en las faqs esta para descargar.

Lo que mas me interesa no es codigo de un objeto sino el tipo de abstraccion para utilizar los formularios como objetos(teoria). Y como dividir una aplicacion para insertar en la base de datos con usuarios, clientes, etc.

Cita:
Quisiera saber como plantear la relacion entre:

formularios-->recogida de datos POST-->validacion de los datos(filtros)-->
crear sessiones para devolver a los formularios en caso de fallo-->entrada a la base de datos.

Que deberian ser objetos y que no?
Como deberian relacionarse entre si?

Lo que pido es la teoria, que del codigo ya me encargare yo.
De todas formas kalolo yo voy a seguir con los objetos por separado y comentandolos a ver como seria el mejor codigo a utilizar. Empezaremos con los usuarios xd.
__________________
Ciao y suerte.
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 23:13.