Hola:
He estado intentando hacer un proyecto en PHP POO pero no estoy muy seguro de como persistir los datos, hasta el momento lo estoy haciendo de esta forma:
Supongamos que tengo una clase usuario como esta:
Usuario.php Código PHP:
?php
class Usuario {
private $_nombre;
private $_email;
public function __construct($nombre, $email) {
// asigno variables
}
public funtion getNombre() {
return $this->_nombre;
}
public funtion getEmail() {
return $this->_email;
}
Y por otra parte tengo una otra clase que se encarga de agregar, obtener, editar etc, los datos de los usuarios desde una base de datos:
UsuarioDB.php Código PHP:
<?php
require_once 'BaseDatos.php';
require_once 'Usuario.php';
public fucntion __construct() {
// conecto a la DB haciendo uso de la clase BaseDatos.php
}
public funtion addUsuario(Usuario $usuario) {
// agrego el usuario ala base de datos
}
public funtion getUsuario($usuarioId) {
// Obtengo la info del usuario con la ID pasada por parametro desde la DB
$usuario = new Usuario($row['nombre'], $row['email'])
return $usuario;
}
public function getTodosUsuario() {
// Obtengo la info de todos los usuarios y los retorno en un array de objetos tipo Usuario.
return $usuarios;
}
// Mas metodos.....
}
Pero mi pregunta es ¿Esto es correcto? o ¿Es trabajo de la clase Usuario.php obtener los la información desde la Base de datos? porque al final tendría una clase de persistencia por tipo de dato (Usuario.php -> UsuarioDB.php, Articulo.php -> ArticuloDB.php, Encuesta.php -> EncuestaDB.php etc).
Estoy algo confundido porque estuve leyendo un artículo acerca del MVC en PHP y decía que la percistencia es parte del Modelo.
De antemano Gracias y espero puedan ayudarme =P.
Didier