Usuario:ManuelRomero/NewPHP/B2T9/Smarty/practicaTienda
De WikiEducator
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.
- Login ==> Nos identificaremos para acceder al sitio web
- Porductos ==> Se visualizarán una lista de todos los productos
- Logoff ==> Tendremos la opción de desconectarnos
- Cesta ==> Aparecerá la posibilidad de ir incorporando nuevos elementos a la cesta
- 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.