Foros del Web » Programando para Internet » PHP »

Opiniones, sugerencias, mentadas, etc.

Estas en el tema de Opiniones, sugerencias, mentadas, etc. en el foro de PHP en Foros del Web. Tengo una clase llamada Usuario en la cual hago insert para registro del usuario, update para la actualización de los datos... el problema viene cuando ...
  #1 (permalink)  
Antiguo 13/09/2002, 02:30
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 16 años
Puntos: 1
Opiniones, sugerencias, mentadas, etc.

Tengo una clase llamada Usuario en la cual hago insert para registro del usuario, update para la actualización de los datos... el problema viene cuando quiero hacer un select, WebStudio me comentaba que debo generar el despliegue de los registros dentro de algun método y no mandar llamar los campos de la Tabla que obtengo del metodo para usarlos fuera de la clase, dice que eso va en contra de los planteamientos de la POO.

Ahora bien lo que hice fue manejar una función para ello y no ponerlo dentro de la clase. Osease es independiente.

Ahora bien si llegaron hasta aquí y me explique bien quiero saber como manejan ustedes su conexión a una BD los Inserts, Updates, Selects, etc. Los meten dentro de una función? y lo mandan llamar con un require o include para reutilizar el codigo?

No se, si pudieran plantearme un esquema de como lo manejan y el por que es conveniente de esa manera quedaré infinitamente agradecido.

Saludos

<center>
<a href=http://comunidadguru.com><img border=0 src=http://comunidadguru.com/imagenes/logos/logo.gif></a>
</center>
  #2 (permalink)  
Antiguo 13/09/2002, 02:41
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 16 años
Puntos: 1
Re: Opiniones, sugerencias, mentadas, etc.

Jeje, Bueno en este caso es MySQL y no tiene SP o si?

Por cierto puse este mensaje aquí por que estoy utilizando PHP para programar mi sitio.

Saludos

<center>
<a href=http://comunidadguru.com><img border=0 src=http://comunidadguru.com/imagenes/logos/logo.gif></a>
</center>
  #3 (permalink)  
Antiguo 13/09/2002, 02:43
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 15 años, 7 meses
Puntos: 7
Re: Opiniones, sugerencias, mentadas, etc.

Oops! Mil disculpas. Juraria que vi ASP. :roto:

En PHP: Todas las sentencias en funciones. Todas las funciones en un require.


  #4 (permalink)  
Antiguo 13/09/2002, 02:48
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 16 años
Puntos: 1
Re: Opiniones, sugerencias, mentadas, etc.

Disculpas?

No hay por que... De hecho yo tuve el erro de no especificar la BD tal vez.

Podría haber sido SQLServer despues de todo tambien funca con pHP ;)

Saludos

<center>
<a href=http://comunidadguru.com><img border=0 src=http://comunidadguru.com/imagenes/logos/logo.gif></a>
</center>
  #5 (permalink)  
Antiguo 13/09/2002, 03:49
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Re: Opiniones, sugerencias, mentadas, etc.

¿Qué es la POO?

<div style="font:x-small Verdana;">Se está acercando...</div>
<div align="center" style="font:bold x-small Verdana;"><a style="text-decoration:none;" href="http://www.traduim.com" target="_blank">Traduim</a>: El portal de los traductores</div>
  #6 (permalink)  
Antiguo 13/09/2002, 04:01
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 15 años, 7 meses
Puntos: 7
Re: Opiniones, sugerencias, mentadas, etc.

POO = Programacion Orientada a Objetos
  #7 (permalink)  
Antiguo 13/09/2002, 04:04
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Re: Opiniones, sugerencias, mentadas, etc.

Y ¿donde puedo encontrar una referencia más o menos oficial?

<div style="font:x-small Verdana;">Se está acercando...</div>
<div align="center" style="font:bold x-small Verdana;"><a style="text-decoration:none;" href="http://www.traduim.com" target="_blank">Traduim</a>: El portal de los traductores</div>
  #8 (permalink)  
Antiguo 13/09/2002, 04:10
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Re: Opiniones, sugerencias, mentadas, etc.

Hola,

Lo primero, ¿tienes claro los conceptos de POO? Porque yo creo que POO no es solo utilizar clases, es mas, estoy convencido de que se puede hacer POO sin usar clases.

Sobre como organizo yo los accesos a BD, te dire que en el trabajo todavia usamos PHP3 (gran cantidad de codigo y poco tiempo para modernizarlo) y ahi codigo que todavia no le he podido meter mano. Pero lo que es la conexion a MySQL y la seleccion de BD la tengo en ficheros a parte. Las consultas las realizo directamente dentro de cada pagina, quitando las que pertenecen a secciones que se repiten en varias paginas, en cuyo caso toda la seccion va en fichero aparte. Tengo varias paginas que muestran listados semejantes, en los que solo cambian las condiciones de la consulta, se pasa como parametro la consulta. No uso clases, sino que uso funciones pasando como parametros los valores que serian los atributos de una clase. Es decir, &quot;simulo&quot; el funcionamiento de una clase.

En definitiva, si tienes un trozo codigo que se repite literal o casi literalmente en varias paginas, debes ponerlo en un fichero aparte, ya sea como funcion o como clase. Porque es mas facil de mantener y menos propenso a generar errores.

Por cierto, llevando POO a sus extremos, en tu clase Usuario no tendria que haber nada de codigo que interactuase directamente con MySQL. Tendrias que crear otra clase y tener en tu clase Usuario un objeto de esa clase y hacer todas las operaciones a traves de ese objeto. Tambien tendrias que ser capaz de reflejar en el interfaz de tu clase Usuario todas las acciones que se pueden realizar con un objeto Usuario.

Mi consejo: si estas comodo con POO sigue con ello, pero si para ti es muy &quot;artificial&quot;, continua usando funciones.

Espero no haberte liado, y espero no haber comenzado un combate POO vs Programacion estructurada.


Josemi

Aprendiz de mucho, maestro de poco.
  #9 (permalink)  
Antiguo 13/09/2002, 10:45
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 16 años
Puntos: 1
Re: Opiniones, sugerencias, mentadas, etc.

Cita:
Lo primero, ¿tienes claro los conceptos de POO? Porque yo creo que POO no es solo utilizar clases, es mas, estoy convencido de que se puede hacer POO sin usar clases.
Si los tengo claros, de hecho PHP no es un lenguaje orientado a objetos puesto que hasta donde se no tiene herencia y polimorfismo, bueno en realidad solo he leido poco sobre la POO en PHP y nunca lei estos dos conceptos, y si no cumple con Herencia, Polimorfismo y Clases, no se puede decir que es un LOO

Saludos y gracias por tu comentario ;)

<center>
<a href=http://comunidadguru.com><img border=0 src=http://comunidadguru.com/imagenes/logos/logo.gif></a>
</center>
  #10 (permalink)  
Antiguo 13/09/2002, 10:46
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
Re: Opiniones, sugerencias, mentadas, etc.

Bueno, te comento que yo mismo estoy haciendo una clase para el manejo de usuarios, para zonaphp.com y como bien comentaban antes... es aconsejable que si puedes utilizar alguna clase de acceso a bases de datos ( si es una de abstraccion, mejor ) puedes pasarla como parametro al objeto usuario en el momento de la instanciación, y utilizarla internamente.

En el caso que no tengas clases para el acceso a BD, entonces debes tener en cuenta que un Objeto, no es solo el código PHP, sino que es parte de un objeto toda la estructura/s de base de datos que lo soportan ( léase una o varias tablas ). Y que es menester del OBJETO saber como acceder a esas tablas, aunque el acceso lo haga directamente o desde otra clase. =)

Después, lo que acostumbro hacer en algunos casos, es tener un método load() (Si, mis métodos son en inglés, tengo que acostumbrarme a castellanizarlos) al que le paso el ID o nombre de usuario del usuario que quiero instanciar, entonces hago un :

&lt;?
$u = new Usuario($Conn); // $Conn puede ser un objeto o un link hacia una BD
$u-&gt;load('webstudio');
?&gt;

De esta manera ya cargo dentro del objeto todos los datos del usuario, y luego puedo accederlos a través de sus métodos :

&lt;?
echo $u-&gt;usuario();
echo $u-&gt;ICQ();
$u-&gt;nombre(&quot;Pablo&quot;);
?&gt;

Y luego, cuando ya trabajé con el Usuario, y quiero que los cambios se reflejen en la BD ( o sea, que obtengan persistencia ), tan solo hago:

&lt;?
$u-&gt;save();
?&gt;

Bueno, espero que esto te haya servido de algo, para que puedas acrecentar un poco más tus conocimientos sobre POO o sobre como algunos hacemos algunas cosas.

saludos.
  #11 (permalink)  
Antiguo 13/09/2002, 16:30
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
Re: Opiniones, sugerencias, mentadas, etc.

urjosé, te invito a que leas el tutorial sobre POO de Luis Argerich en www.phpbuilder.net, allí verás que PHP soporta tanto Herencia, Polimorfismo y Clases. Lo único que no soporta directamente es el encapsulamiento.

Saludos
  #12 (permalink)  
Antiguo 13/09/2002, 16:31
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 16 años
Puntos: 1
Re: Opiniones, sugerencias, mentadas, etc.

ohhh

Eso me interesa

Voy a leerlo.

Saludos

<center>
<a href=http://comunidadguru.com><img border=0 src=http://comunidadguru.com/imagenes/logos/logo.gif></a>
</center>
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 19:51.