Estoy haciendo un curso online y he llegado a un punto donde me he atascado con un ejercicio de clases con constructores y destructores.
Estoy aprendiendo PHP por mi cuenta y por más que he buscado en foros y ejemplos y teoría no doy con la solución al ejercicio.
Os lo pongo junto a mi código a ver si me podéis ayudar algo.
GRACIAS !!
Crear clase class.php que simula una lista de productos. La clase contendrá:
- Propiedad de tipo array con nombres y precios de productos
- Constructor que muestre por pantalla "Objeto construído"
- Destructor que muestre por pantalla "Objeto destruído"
- Función que añade bebidas a la propiedad de la clase
- Función que devuelve el nº de productos almacenados
- Función que muestra en una tabla el producto y precio de cada producto (muestra el contenido de la propiedad de la clase)
Además, es necesario un script que accede a las funciones de la clase class.php para añadir productos a la lista y muestra los productos en una tabla HTML de modo que por pantalla se vea algo similar a:
Objeto construído.
(Aquí la tabla)
NOMBRE -- PRECIO
* -- * €
* -- * €
* -- * €
El nº total de productos es: X
Objeto destruído.
Y este es mi código actual:
Código class.php:
Ver original
<?php class clase_prod { //propiedades public $productos; //constructor function __construct() { echo "Objeto construído."; } //destructor function __destruc() { echo "Objeto destruído."; } //agregar productos function agregar_productos($nombre, $precio) { $this->productos('Coca Cola'=>'1,5', 'Café'=>'2', 'Agua Mineral'=>'0,75', 'Cerveza'=>'1,25'); } //contar productos function contar_productos() { $num_productos=count($productos); echo "Nº total de productos: $num_productos"; } } ?>
Código script.php:
Ver original
<html> <head> <meta charset="UTF-8" /> <title>EJERCICIO 1 - clases</title> </head> <body> <h1>PRODUCTOS</h1> <?php include 'class.php'; $prod1 = new clase_prod; $prod1->agregar_productos("Limonada", "1"); ?> <p> <table width="40%" border="1"> <tr> <td> NOMBRE </td> <td> PRECIO </td> </tr> <?php foreach ($productos as $key=>$value) { ?> <tr> <td> <?php echo $key; ?> </td> <td> <?php echo $value; ?> € </td> </tr> <?php } ?> </table> </p> <p> <?php contar_productos(); ?> </p> </body> </html>
Muchas gracias por la ayuda.