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

De WikiEducator
Saltar a: navegación, buscar
(Página creada con «{{:Usuario:ManuelRomero/php/smarty/tienda1/nav}} __NOTOC__ ===Enunciado original=== *Para el enunciado visitamos la página donde se especifican los requisitos http://es....»)
 
 
(2 revisiones intermedias por el mismo usuario no mostrado)
Línea 1: Línea 1:
{{:Usuario:ManuelRomero/php/smarty/tienda1/nav}}
+
{{:Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/practicaTienda/nav}}
 
+
{{MRM_Objetivos|
__NOTOC__
+
*Se va a mostrar los difentes requisitos de la práctica.
===Enunciado original===
+
*Cada requisito tiene un enlace para ver la ejecución de una posible solución.
*Para el enunciado visitamos la página donde se especifican los requisitos
+
*Es obligatorio usar PDO e implementar las clases que se especifican.
 
+
*Hay que usar smarty para las plantillas.
http://es.wikieducator.org/Usuario:ManuelRomero/php/ejemploTienda
+
*Hay que entregar cada uno de los proyectos, es decir, esta práctica son 10 proyectos independinetes y crecientes.
===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.
+

Última revisión de 05:23 20 abr 2019



Icon objectives.jpg
Objetivo
  • Se va a mostrar los difentes requisitos de la práctica.
  • Cada requisito tiene un enlace para ver la ejecución de una posible solución.
  • Es obligatorio usar PDO e implementar las clases que se especifican.
  • Hay que usar smarty para las plantillas.
  • Hay que entregar cada uno de los proyectos, es decir, esta práctica son 10 proyectos independinetes y crecientes.