Usuario:ManuelRomero/NewPHP/B2T9/Smarty/practicaTienda

De WikiEducator
Saltar a: navegación, buscar



Enunciado original

  • Para el enunciado visitamos la página donde se especifican los requisitos

http://es.wikieducator.org/Usuario:ManuelRomero/php/ejemploTienda

Especificaciones nuevas

  • En este caso se trata de cumplir una serie de especifiaciones nuevas
  • Vamos a separar la lógica del negocio de la presentación
  • por otro lado vamos a crear clases para la programación más estructurada y encapsulada
  • El resultado será un proyecto con muchos mas ficheros, pero mucho más organizado y especializado
  • Las especificaciones no funcionales de este ejercicio son:

CLASES

BD.php
Clase con los métodos necesarios para acceder/consultar/validar en la base de datos. Por ejemplo
validarCliente($usuario,$password)
obtenerProducto($codigo)
obtenerProductos ()
Producto.php
Clase para interactuar con un prodcuto concreto
CestaCompra.php
Acciones relacionadas con la cesta de la compra
nuevoArticulo()
getProductos()
getCoste()
vaciar()

PLANTILLAS

  • Es la parte de interfaz de cliente
  • Normalmente cada parte php tendrá su plantilla, de modo que los ficheros php solo tienen código de control y de acceso y gestión de la base de datos
login.ptl
productos.tpl (listaProductos.tpl y productosCesta.tpl)
cesta.tpl

NEGOCIO o LÓGICA

  • 5 plantillas tendremos 5 ficheros php, aunque esto no tendría que ser necesariamente así
cesta.php
login.php
logoff.php
pagar.php
productos.php
  • La funcionalidad queda descrita en el enunciado

Forma de proceder

  • Vamos a hacer este ejercicio de forma incremental, realizando cada parte con el fin de ir asimilando bien los conceptos de plantillas y la separación de negocio o lógicay presentación.
  1. Login ==> Nos identificaremos para acceder al sitio web
  2. Porductos ==> Se visualizarán una lista de todos los productos
  3. Logoff ==> Tendremos la opción de desconectarnos
  4. Cesta ==> Aparecerá la posibilidad de ir incorporando nuevos elementos a la cesta
  5. Opciones de Cesta ==> Podremos o pagar y terminar la app o bien vaciar la cesta de la compra
  • Cada una de estas cinco acciones deben de constituir una aplicación.