Diferencia entre revisiones de «Usuario:ManuelRomero/php/smarty/enunciado»
De WikiEducator
< Usuario:ManuelRomero | php
(→NEGOCIO o LÖGICA) |
|||
Línea 37: | Línea 37: | ||
;productos.tpl (listaProductos.tpl y productosCesta.tpl) | ;productos.tpl (listaProductos.tpl y productosCesta.tpl) | ||
;cesta.tpl | ;cesta.tpl | ||
− | ====NEGOCIO o | + | ====NEGOCIO o LÓGICA==== |
*5 plantillas tendremos 5 ficheros php, aunque esto no tendría que ser necesariamente así | *5 plantillas tendremos 5 ficheros php, aunque esto no tendría que ser necesariamente así | ||
;cesta.php | ;cesta.php | ||
Línea 45: | Línea 45: | ||
;productos.php | ;productos.php | ||
*La funcionalidad queda descrita en el enunciado | *La funcionalidad queda descrita en el enunciado | ||
+ | |||
===Forma de proceder=== | ===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. | *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. |
Revisión de 09:22 11 ene 2016
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.