Diferencia entre revisiones de «Usuario:ManuelRomero/micursos/INAEM2017/Avanzado/Tienda»
De WikiEducator
(Página creada con «Práctica Tienda {{vbar}}») |
|||
Línea 1: | Línea 1: | ||
− | + | {{:Usuario:ManuelRomero/php/smarty/tienda1/nav}} | |
+ | |||
+ | __NOTOC__ | ||
+ | ===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 | ||
+ | |||
+ | <source lang=php> | ||
+ | validarCliente($usuario,$password) | ||
+ | obtenerProducto($codigo) | ||
+ | obtenerProductos () | ||
+ | </source> | ||
+ | |||
+ | ;Producto.php | ||
+ | :Clase para interactuar con un prodcuto concreto | ||
+ | ;CestaCompra.php | ||
+ | :Acciones relacionadas con la cesta de la compra | ||
+ | <source lang=php> | ||
+ | nuevoArticulo() | ||
+ | getProductos() | ||
+ | getCoste() | ||
+ | vaciar() | ||
+ | </source> | ||
+ | ====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. |
Revisión de 06:00 27 may 2018
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.