En mi proyecto tengo una clase de base de datos que utilizo para manejar todas las cosas de MySQL. Se conecta a una base de datos, ejecuta consultas, detecta errores y cierra la conexión.Usando una clase de base de datos en mi clase de usuario
Ahora necesito crear un área de miembros en mi sitio, y yo iba a crear una clase de usuarios que manejaría el registro, el inicio de sesión, la contraseña/cambios de nombre de usuario/restablecimientos y el cierre de sesión. En esta clase de usuarios necesito usar MySQL por razones obvias ... para lo que fue creada mi clase de base de datos.
Pero estoy confundido en cuanto a cómo usaría mi clase de base de datos en mi clase de usuarios. ¿Me gustaría crear un nuevo objeto de base de datos para mi clase de usuario y luego cerrarlo cada vez que se complete un método en esa clase? O de alguna manera hago una clase de base de datos 'global' que se puede usar en todo el script (si es el caso, necesito ayuda con eso, no tengo idea de qué hacer allí).
Gracias por cualquier comentario que pueda dar. yo.
Suena muy parecido a mezclar las dos clases juntas. Preferiría una solución donde las clases son completamente independientes, a menos que me falta algo? – Josh
El diseño de OO se trata de encapsulación. Para mí, tiene sentido encapsular la base de datos de forma independiente y luego tener clases que acceden a ella, de modo que solo controle el acceso a la base de datos. Sin embargo, otros diseños son posibles. Tener dos clases que accedan directamente a la base de datos es posible, aunque mi opinión es que eso agrega complejidad adicional. – WhirlWind
Supongo que otra forma de hacerlo es instanciar una instancia de clase de base de datos que se conecta a la base de datos, luego usar una clase separada para hacer cosas de "usuario" mediante un manejador de base de datos recuperado de la clase de base de datos ... Eso debería funcionar, si lo prefiero – WhirlWind