Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/06/2015, 16:29
Avatar de bandolera
bandolera
 
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años, 7 meses
Puntos: 7
Pregunta Usar Value Object

Hola chicos he creado un ambiente de pruebas.
Tengo esta tabla:
Código PHP:
CREATE TABLE IF NOT EXISTS `prueba` (
  `
codigoint(10unsigned NOT NULL,
  `
nombresvarchar(30) DEFAULT NULL,
  `
fechadate DEFAULT NULL,
  `
cantidadint(10unsigned DEFAULT NULL,
  `
cargodecimal(8,2) DEFAULT NULL,
  `
abonodecimal(8,2) DEFAULT NULL,
  `
fotovarchar(20) DEFAULT NULL,
  
PRIMARY KEY (`codigo`)
ENGINE=InnoDB DEFAULT CHARSET=utf8
Y tengo su correspodiente Value Object:
Código PHP:
class PruebaVO {
    public 
$codigoVO;
    public 
$nombresVO;
    public 
$fechaVO;
    public 
$cantidadVO;
    public 
$cargoVO;
    public 
$abonoVO;
    public 
$fotoVO;    
    
    public function 
__construct($cod$nom$fec$can$car$abo$fot){
       
$this->codigoVO $cod;
       
$this->nombresVO $nom;
       
$this->fechaVO $fec;
       
$this->cantidadVO $can;
       
$this->cargoVO $car;
       
$this->abonoVO $abo;
       
$this->fotoVO $fot;       
    }
    function 
__destruct(){
    }

Tengo entendido que por cada Tabla de la base de datos se tiene una clase VO y una DAO. Cierto?
En mi DAO tengo un método listar:
Código PHP:
function listar(){
       
$query "SELECT codigo, nombres, DATE_FORMAT(fecha,'%d/%m/%Y') as fechaLO, cantidad, cargo, abono, foto FROM prueba";
       ***{
POR AQUI VA LA CONEXION A LA B.D.}***
       
$lista = array();
       while(
$fila=$recordSet->FetchRow()) {
          
$lista[] = new PruebaVO($fila['codigo'], $fila['nombres'], $fila['fechaLO'], $fila['cantidad'], $fila['cargo'], $fila['abono'], $fila['foto']);
       }
       return 
$lista;
    } 
Y en mi plantilla utilizo Smarty para visualizar:
Código PHP:
{section name=i loop=$lista}
        <
tr>
            <
td>{$lista[i]->codigoVO}</td>
            <
td>{$lista[i]->nombresVO}</td>
            <
td>{$lista[i]->fechaVO}</td>            
            <
td>{$lista[i]->cantidadVO}</td>
            <
td>{$lista[i]->cargoVO}</td>
            <
td>{$lista[i]->abonoVO}</td>
            <
td>{$lista[i]->fotoVO}</td>
        </
tr>
{/
section
Y mi controlador que tiene lo siguiente:
Código PHP:
$dao = new PruebaDAO();
$lista $dao->listar();
$tpl = new Plantilla();
$tpl->assign("lista"$lista);
$tpl->display('prueba.tpl.php'); 
Todo funciona y estoy usando MVC con php/mysql/smarty
Mi pregunta es la siguiente:
Qué pasa si tengo un método que solo necesita visualizar de mi tabla los campos: codigo, cargo y abono?
Espero sugerencias y comentarios.
__________________
Todos somos iguales. NO! a la violencia de género.