Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/practicaTienda/producto1»

De WikiEducator
Saltar a: navegación, buscar
 
(2 revisiones intermedias por el mismo usuario no mostrado)
Línea 3: Línea 3:
 
===Probando el ejemplo===
 
===Probando el ejemplo===
 
*Puedes ver esta parte del ejercicio ejecutándose en la web:
 
*Puedes ver esta parte del ejercicio ejecutándose en la web:
  http://manuel.infenlaces.com/dwes/tienda/TiendaProductos/login.php
+
  http://manuel.infenlaces.com/distancia/practicas/practica_12_tienda/2%20Tienda%20Productos/login.php
  
 
===Lista productos===
 
===Lista productos===
Línea 14: Línea 14:
 
*Para ello añadiremos el método pública obtieneProductos() en la clase DB.php que quedará con lo que tenía
 
*Para ello añadiremos el método pública obtieneProductos() en la clase DB.php que quedará con lo que tenía
 
[[Archivo:DB2_.png]]
 
[[Archivo:DB2_.png]]
 +
;Productos.php
 +
*Esta clase va a ser un modelo correspondiente a la lógica
 +
*En este caso el código de esta clase si solo nos interesan 4 campos...
 +
*El modelo completo requeriría acceder a todos los campos
 +
<source lang=php>
 +
<?php
 +
class Producto {
 +
    protected $codigo;
 +
    protected $nombre;
 +
    protected $nombre_corto;
 +
    protected $PVP;
 +
 +
    public function getcodigo() {return $this->codigo; }
 +
    public function getnombre() {return $this->nombre; }
 +
    public function getnombrecorto() {return $this->nombre_corto; }
 +
    public function getPVP() {return $this->PVP; }
 +
 +
    public function __construct($producto) {
 +
        $this->codigo = $producto['cod'];
 +
        $this->nombre = $producto['nombre'];
 +
        $this->nombre_corto = $producto['nombre_corto'];
 +
        $this->PVP = $producto['PVP'];
 +
    }
 +
}
 +
?>
 +
</source>

Última revisión de 08:24 28 abr 2020



Probando el ejemplo

  • Puedes ver esta parte del ejercicio ejecutándose en la web:
http://manuel.infenlaces.com/distancia/practicas/practica_12_tienda/2%20Tienda%20Productos/login.php

Lista productos

  • Se trata de modificar tanto productos.php, como la plantilla productos.tpl, para obtener un listado de todos los productos
  • Para ello también añadiremos métodos a la clase DB.php.
  • A la vez crearemos la clase Producto.php para obtener de forma más cómoda cada producto como un objeto de la clase Producto a partir de cada fila de la consulta.
  • Directamente vamos a escribir el código
DB.php
  • Debemos hacer una consulta que obtenga todos los productos
  • Para ello añadiremos el método pública obtieneProductos() en la clase DB.php que quedará con lo que tenía

DB2 .png

Productos.php
  • Esta clase va a ser un modelo correspondiente a la lógica
  • En este caso el código de esta clase si solo nos interesan 4 campos...
  • El modelo completo requeriría acceder a todos los campos
<?php
class Producto {
    protected $codigo;
    protected $nombre;
    protected $nombre_corto;
    protected $PVP;
 
    public function getcodigo() {return $this->codigo; }
    public function getnombre() {return $this->nombre; }
    public function getnombrecorto() {return $this->nombre_corto; }
    public function getPVP() {return $this->PVP; }
 
    public function __construct($producto) {
        $this->codigo = $producto['cod'];
        $this->nombre = $producto['nombre'];
        $this->nombre_corto = $producto['nombre_corto'];
        $this->PVP = $producto['PVP'];
    }
}
?>