elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Diseño de clases PHP y MySQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Diseño de clases PHP y MySQL  (Leído 1,753 veces)
redee

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Diseño de clases PHP y MySQL
« en: 24 Febrero 2014, 21:25 pm »

Hola a todos

Desde hace tiempo, vengo viendo en alguna que otra página, que los desarrolladores crean clases en PHP con miembros que están directamente relacionados con la estructura de las tablas que tienen en la base de datos. Después van haciendo consultas de la información que interesa y guardando los datos en objetos de PHP que representan a esas clases.

Por ejemplo, si existe una tabla en MySQL llamada "pedidos" con columnas idpedido, nombre, proveedor..., existirá también una clase PHPllamada pedidos que tendrá de atributos idpedido, nombre, proveedor...

¿Es esto una buena práctica?

Gracias anticipadas


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Diseño de clases PHP y MySQL
« Respuesta #1 en: 24 Febrero 2014, 22:32 pm »

Supongo que será, para acelerar las búsquedas. Si haces una clase, luego todo se hace más sencillo.


En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Diseño de clases PHP y MySQL
« Respuesta #2 en: 25 Febrero 2014, 16:46 pm »

o.O

Entonces cómo se supone que lo usas?

Eso es lo básico de la programación orientada a objetos, yo además de eso, utilizo funciones para realizar conteos o para saber si algun valor existe dentro de la tabla.

Por ejemplo:
Código
  1.  
  2. function count_users() {
  3.  ....
  4.  return $var;
  5. }
  6.  
  7. function exists_user($id) {
  8. ....
  9. return $boolean;
  10. }
  11.  
  12.  
En línea

abc
segurolas.es

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Diseño de clases PHP y MySQL
« Respuesta #3 en: 28 Febrero 2014, 13:31 pm »

Una forma sería esta:

Código
  1. class Row {
  2.  
  3.    private $link, $table, $id;
  4.  
  5.    function __construct(PDO $link, $table, $id) {
  6.        $this->link = $link;
  7.        $this->table = $table;
  8.        $this->id = $id;
  9.    }
  10.  
  11.    function __get($name) {
  12.        return $this->link->query("SELECT $name FROM $this->table WHERE id = $this->id;")->fetch()[$name];
  13.    }
  14.  
  15. }
  16.  
  17. $link = new PDO('mysql:host=localhost;dbname=test', 'root');
  18.  
  19. $user = new Row($link, 'user', 1);
  20.  
  21. echo "Hello $user->name $user->surname!";

Se me ocurren más y mejores...

Saludos.
En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: Diseño de clases PHP y MySQL
« Respuesta #4 en: 28 Febrero 2014, 17:27 pm »

Es una técnica llamada ORM, muy utilizada y muy útil.

Cita de: wikipedia
Object-relational mapping (ORM, O/RM, and O/R mapping) in computer software is a programming technique for converting data between incompatible type systems in object-oriented programming languages. This creates, in effect, a "virtual object database" that can be used from within the programming language

El punto es que en vez de trabajar con datos raw, trabajas con objetos.

Y como muchos ORM Framework abstraen el motor de base de datos, tu aplicación sera compatible con los diferentes sistema de gestión de base de datos como MySQL, PostgreSQL , ... Siempre que el ORM Framework que utilizas soporte el sistema de gestión de base de datos.

Saludos.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con diseno de una jerarquia de clases
Java
Sujeto 0 2,522 Último mensaje 24 Enero 2009, 19:48 pm
por Sujeto
[Tutorial] - Login con ajax . Mysql || Php con clases || Ajax « 1 2 »
PHP
Hadess_inf 15 27,031 Último mensaje 9 Diciembre 2010, 02:44 am
por delorian15
Diseño de equipo para diseño tecnico.
Hardware
SuXoR 3 4,030 Último mensaje 20 Octubre 2010, 15:06 pm
por 4rm4ndo
[SOLUCIONADO] Cómo puedo obtener el diseño de las tablas por query en mysql?
Bases de Datos
papita5 2 4,042 Último mensaje 7 Noviembre 2011, 00:06 am
por papita5
Alguien me podría dar clases de PHP y MYSQL?
Desarrollo Web
srcopito 2 1,814 Último mensaje 11 Abril 2015, 23:06 pm
por pbtete
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines